Regarding Manifest
Hi
I am having problem with Manifest file which contains list of jar's.
I made a new manifest file and put it in the same folder as my java program/class.
Now when i make a jar with 'jar- cvf myjar.jar manifest.mf mypgm.class'
there are 2 manifest files . one is in META-INF and other is my new manifest.
Any problem with that?
I am trying to run my program with
'java -classpath "D:\myentire path\myjar.jar;" mypgm
and it does not run .
Please help.
chandra
Now when i make a jar with 'jar- cvf myjar.jar
manifest.mf mypgm.class'
there are 2 manifest files . one is in META-INF and
other is my new manifest.
Any problem with that?Yes, the problem is how u r creating the jar.
the correct way is:-
jar -cvfm myjar.jar manifest.mf mypgm.class.
Unless you specify the manifest file option (m) to the jar command, it will not consider your specified manifest file as a manifest file, but will just take it as any other file. And thus, it will create its own manifest for the jar. Due to that u r getting two manifest files.
Debopam.
Similar Messages
-
Hi,
I am using Tomcat version 3.3.1. I have downloaded ldapjdk.jar file into lib directory of my web-server.
When I do java -jar ldapjdk.jar , I get the following error.
" Failed to load Main-Class manifest attribute from ldapjdk.jar"
I need to use classes present in the "netscape" directory of the ldapjdk.jar to authenticate a website , (namely LDAPReferralException, LDAPException, LDAPEntry, LDAPConnection)
Could anyone please tell me how shoild I go about in creating the manifest attribute for this??
Thanks a lot,
MaverickDo not mix
1. Compiling the *.java source files of the bean.
It is done with javac compiler. Generally, it knows nothing about your web server.
Be sure that:
1. All the required non-default libraries (such as your ldapjdk.jar) are available to the compiler, that is the -classpath option is used and paths for the libraries are there (and the libraries are really on that paths: just writing "-classpath ldapjdk.jar" will not suffice unless a copy of the the library is in your current directory). Unless you will encounter "package ... does not exist" or "cannot resolve symbol symbol : class someclassname" errors.
2. If you have packages (if the *.java file starts with a "package ...;" statement), than that file should reside in a directory in the same position on the tree, as your package is on the tree of packages. (Each '.' is a level on the tree of packages). Run the compiler from the root level of the hierarchy.
E.g. if the source file LdapBean.java has statement "package pfd;" and is located in directory "C:\MY_SOURCES\pfd\", you should be in the directory "C:\MY_SOURCES\" when you run the compiler. The command line may be:
javac -classpath ".;C:\tomcat\lib\ldapjdk.jar" pfd/LdapBean.java
3. If you have troubles on compiling, consult the help for the javac compiler. (I did write you where to look for help). It does nothing with tomcat. It is a JDK question, not webserver's one. Note, that there are also tutorials on java:
http://java.sun.com/docs/books/tutorial/
2. Adding additional libraries to the server.
They are used at run time. But until you have a compiled bean to deploy there, you do not need them.
The libraries are added either to the lib folder, or to the folder WEB-INF/lib/ near your web page.
3. Deploying your jsp page and the (compiled!) bean that it uses.
Read the tomcat manuals.
The classes are added either as libraries (packed into jars) or to the folder WEB-INF/classes/ near your web page.
Consult "deployment.html" in the /doc/appdev in the folder where you installed tomcat.
4. Restarting the server
If you added some libraries to the lib folder, restart the server. -
hi to all,
i developed a report for sending mails to the corresponding email ids.in this i wrote
select-options: s_manif for sood-objnam no intervals.
if we did not enter any distribution list name it will automatically go to the consignee.
my requirement is while it going to the consignee it should ask a pop up regarding "Manifest will be emailed to Consignee" with ok and cancel buttons. if we click ok button then mail will go to consignee and if we click cancel button it will remain in the transcation
<b>thanks helman for giving the help.</b>
but while i click cancel button it is not remain into the transaction.
data: answer type c.
*LOOP AT S_DLINAM.
LOOP AT S_MANIF.
CLEAR DLI_NAME1.
DLI_NAME1 = S_DLINAM-LOW.
DLI_NAME1 = S_MANIF-LOW.
*IF S_DLINAM IS NOT INITIAL.
IF S_MANIF IS NOT INITIAL.
CALL FUNCTION 'SO_DLI_READ_API1'
EXPORTING
DLI_NAME = DLI_NAME1
DLI_ID = ' '
SHARED_DLI = 'X'
IMPORTING
DLI_DATA = IDLIENT
TABLES
DLI_ENTRIES = IDLIENT.
ENDIF.
LOOP AT IDLIENT.
IT_EMAIL-EMAIL = IDLIENT-MEMBER_ADR.
APPEND IT_EMAIL.
ENDLOOP.
REFRESH IDLIENT.
CLEAR IDLIENT.
CLEAR S_DLINAM.
CLEAR S_MANIF.
ENDLOOP.
*end of insert of tcs_kun.
CLEAR t_email_objtxt[].
Text in the email.
t_email_objtxt = 'PDF is included as attachment.'.
APPEND t_email_objtxt.
Fill the OTF table.
t_email_otf[] = h_sf-otfdata-otfdata[].
Get the address number
READ TABLE t_partners
WITH KEY parvw = 'ZC'.
IF sy-subrc NE 0.
MESSAGE ID 'ZSH' TYPE 'E' NUMBER 999
WITH text-006.
ENDIF.
h_email-addr_receiver = t_partners-adrnr.
Some general settings.
h_email-name_of_object = 'Freight'.
h_email-descr_of_obj = 'FREIGHT/CARGO MANIFEST'.
h_email-descr_attachem = 'FREIGHT.PDF'.
CALL FUNCTION 'ZSH_SEND_PDF_PER_EMAIL2'
EXPORTING
name_of_object = h_email-name_of_object
descript_of_object = h_email-descr_of_obj
descript_attachement = h_email-descr_attachem
address_no_recipient = h_email-addr_receiver
TABLES
OTF = t_email_otf
TEXT_IN_MAIL = t_email_objtxt
ITAB = IT_EMAIL
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
OPERATION_NO_AUTHORIZATION = 3
ADDRESS_NOT_EXIST = 4
CONV_NOT_POSSIBLE = 5
ERR_OTF_MC_NOENDMARKER = 6
OTHERS = 7.
IF SY-SUBRC = 0.
call function 'POPUP_TO_CONFIRM'
exporting
TITLEBAR = ' '
DIAGNOSE_OBJECT = ' '
text_question = 'Manifest will be emailed to Consignee'
text_button_1 = 'Continue'
ICON_BUTTON_1 = ' '
text_button_2 = 'Cancel'
ICON_BUTTON_2 = ' '
DEFAULT_BUTTON = '1'
DISPLAY_CANCEL_BUTTON = ' '
USERDEFINED_F1_HELP = ' '
START_COLUMN = 25
START_ROW = 6
POPUP_TYPE =
importing
answer = answer
TABLES
PARAMETER =
EXCEPTIONS
TEXT_NOT_FOUND = 1
OTHERS = 2
CALL FUNCTION 'ZSH_POPUP_MESSAGE'
EXPORTING
is_error = 'I'
popup_title = text-007
message_text = text-008.
ELSE.
CALL FUNCTION 'ZSH_POPUP_MESSAGE'
EXPORTING
is_error = 'E'
popup_title = text-015
message_text = text-016.
ENDIF.
Message was edited by: sun deep
Message was edited by: sun deep
Message was edited by: sun deepYou can do something like this.
report zrich_0001.
data: answer type c.
call function 'POPUP_TO_CONFIRM'
exporting
* TITLEBAR = ' '
* DIAGNOSE_OBJECT = ' '
text_question = 'Manifest will be emailed to Consignee'
text_button_1 = 'Continue'
* ICON_BUTTON_1 = ' '
text_button_2 = 'Cancel'
* ICON_BUTTON_2 = ' '
* DEFAULT_BUTTON = '1'
DISPLAY_CANCEL_BUTTON = ' '
* USERDEFINED_F1_HELP = ' '
* START_COLUMN = 25
* START_ROW = 6
* POPUP_TYPE =
importing
answer = answer
* TABLES
* PARAMETER =
* EXCEPTIONS
* TEXT_NOT_FOUND = 1
* OTHERS = 2
if answer = '1'.
write:/ 'The answer is yes'.
elseif answer = '2'.
write:/ 'This answer is no'.
endif.
Regards,
Rich Heilman -
Problems regarding the manifest file in deploying an ear file
I have developed one jar file(classes.jar) for my all my classes built.
I have now one ejb module jar file which refers to my classes.jar throgh the mainfest.mf file of ejbmodule.jar file.
I have one war file(web pplication) which also refers to my classes.jar file throgh its manifest.mf file.
I am now making an ear file of all these (classes.jar,ejbmodule.jar and web.war).
All these are at the same level.
Now when the server starts,it needs some classes to refer.
The deployed ear should be able refer to my classes.jar through the
manifest.mf of the ejb as well as the web module file.
But it not refering.I dont know what is the problem.
<b>
Manifest-Version: 1.0
Class-Path: classes.jar
Created-By: 1.4.2 (Sun Microsystems Inc.)
</b>
Is there something else I need to do?if you structure is:
myear.ear
-->myejb.jar
-->mywar.war
-->classes.jar
-->META-INF
---->manifest.mf
---->application.xml
and the manifest myejb.jar and mywar.war are:
Manifest-Version: 1.0
Class-Path: classes.jar
Created-By: 1.4.2 Sun Microsystems Inc.
all is fine.
perhaps your error is when you startup the server. Can you send me you error when is starting server?
Message was edited by:
javichin -
Regarding fetching data into internal table from D.B Tables, D.B View
Hi All,
I Have following 5 tables in my Database.
LTAP
TABNAME
FIELDNAME
KEYFLAG
LTAP
MANDT
X
LTAP
LGNUM
X
LTAP
TANUM
X
LTAP
TAPOS
X
LTAP
VLPLA
Z0MNH
TABNAME
FIELDNAME
KEYFLAG
Z0MNH
MANDT
X
Z0MNH
WERKS
X
Z0MNH
ZMANNO
X
Z0MNH
LGNUM
X
Z0MNH
AENAM
Z0MNH
BUDAT
Z0MNH
CPUTM
Z0MNH
LAEDA
Z0MNH
STATUS
Z0MNH
USNAM
Z0MNH
ZARDAT
Z0MNH
ZARTIM
Z0MNH
ZCLDAT
Z0MNH
ZCLTIM
Z0MNH
ZDPDAT
Z0MNH
ZDPTIM
Z0MNH
ZDRIVR
Z0MNH
ZINDAT
Z0MNH
ZINTIM
Z0MNH
ZLOAD
Z0MNH
ZNOTES
Z0MNH
ZPRDAT
Z0MNH
ZPRTIM
Z0MNH
ZSUPR
Z0MNH
ZTRAILR
Z3MANBOXIDHDR
TABNAME
FIELDNAME
KEYFLAG
Z3MANBOXIDHDR
MANDT
X
Z3MANBOXIDHDR
WERKS
X
Z3MANBOXIDHDR
ZMANNO
X
Z3MANBOXIDHDR
EXIDV
X
Z3MANBOXIDHDR
NLPLA
Z3MANBOXIDHDR
NLTYP
Z3MANBOXIDHDR
VLTYP
Z3MANBOXIDHDR
Z0PAL
Z3MANBOXIDHDR
Z3COMENT
Z3MANBOXIDHDR
Z3RECPT_FLAG
Z3MANBOXIDITM
TABNAME
FIELDNAME
KEYFLAG
Z3MANBOXIDITM
MANDT
X
Z3MANBOXIDITM
WERKS
X
Z3MANBOXIDITM
ZMANNO
X
Z3MANBOXIDITM
EXIDV
X
Z3MANBOXIDITM
ITEM_NO
Z3MANBOXIDITM
MATNR
Z3MANBOXIDITM
VEMEH
Z3MANBOXIDITM
VEMNG
Z3MANBOXIDITM
Z_CARTON
Z3MANBOXIDSERIAL
TABNAME
FIELDNAME
KEYFLAG
Z3MANBOXIDSERIAL
MANDT
X
Z3MANBOXIDSERIAL
WERKS
X
Z3MANBOXIDSERIAL
EXIDV
X
Z3MANBOXIDSERIAL
ZMANNO
X
Z3MANBOXIDSERIAL
ITEM_NO
Z3MANBOXIDSERIAL
SERNR
Based on all the above tables i need to fill in below internal table field as given below:
<b>Internal Table I_TAB
ZMANNO
LGNUM
WERKS
EXIDV
ITEM_NO
MATNR
SERNR
VEMNG
VEMEH
VLTYP
NLTYP
VLPLA
NLPLA
ZLOAD
USNAM
STATUS
BUDAT
CPUTM
ZINDAT
ZINTIM
ZARDAT
ZARTIM
ZCLDAT
ZCLTIM</b>
Extract data from Manifest header <b>Z0MNH, Z3MANBOXIDHDR,
Z3MANBOXIDITM, Z3MANBOXIDSER and LTAP</b> tables based on selection parameter.
Selection Screen will have folowing Select-option fields-
<b>LGNUM
WERKS
ZMANNO
USNAM
ZLOAD
EXIDV
MATNR
SERNR
VLTYP
NLTYP
VLPLA
NLPLA
BUDAT
ZINDAT
ZARDAT
ZCLDAT</b>
Based on above selection criteria i need to fetch above internal table fields data.
Then need to Move corresponding header and item data in ITAB_RESULT internal table.
I need to fetch above fields based on above 5 tables and put in final Internal Table.
Can anybody tell me the logic how can i write the same.
Also can anybody tell me i am trying to create a DataBaseView for
Z0MNH, Z3MANBOXIDHDR, Z3MANBOXIDITM, Z3MANBOXIDSERIAL and LTAP tables.
<b>Note:
1. Z3MANBOXIDITM table may contain multiple material[MATNR] for same box-id[EXIDV] (with another line item).
2. Z3MANBOXIDSERIAL table may contain multiple record for one box id[EXIDV]+item_no[ITEM_NO].</b>
But what are the <b>TABLE/JOIN Conditions</b> i need to write while creating <b>DB View</b> for above <b>5</b> tables.
Can anybody solve above 2 issues!
Thanks in advance.
Thanks,
Deep.Hi Deep,
While creation of DB view just make sure abt the key relation between the tables. Based on that u can join the tables...First fetch the data from header table then by using for all entries u can fetch the line items data.
Hope this helps you. Reply for queries, shall post the updates.
Regards.
Kumar. -
Mbean Null /// PermGen // Manifest.mf --- Many many errors.
Hello,
im setting up, an Liferay 6.1.1 on an WebLogic 11G all based on Linux Redhead.
At the moment i get this error after 5 hours using Google, it still cant help me with MBean null errors :-/
My problem: Weblogic installtion was succesfull and without problems.
I connected Weblogic with the Oracle DB -> no problems.
I added the liberays needed for Liferay -> no problems.
I deployed liferay -> first error (time out, its not acitvated but deployed)
I activated it again (top right corner) -> all perfect
So i watched the deployment and Weblogic said me its running but i cant connect on it. (Yep i used the right link)
Then i tried to restart Weblogic - an now i got this mistakes ...
Has someone hints how i can eliminate this errors?
best regards,
Jens
<JMX> <BEA-149500> <An exception occurred while registering the MBean null.
java.lang.IllegalArgumentException: Registered more than one instance with the same objectName : com.bea:ServerRuntime=AdminServer,Name=liferay,Type=ApplicationRuntime new:[email protected]a existing [email protected]4
at weblogic.management.jmx.ObjectNameManagerBase.registerObject(ObjectNameManagerBase.java:168)
at weblogic.management.mbeanservers.internal.WLSObjectNameManager.lookupObjectName(WLSObjectNameManager.java:131)
at weblogic.management.jmx.modelmbean.WLSModelMBeanFactory.registerWLSModelMBean(WLSModelMBeanFactory.java:87)
at weblogic.management.mbeanservers.internal.RuntimeMBeanAgent$1.registered(RuntimeMBeanAgent.java:104)
at weblogic.management.provider.core.RegistrationManagerBase.invokeRegistrationHandlers(RegistrationManagerBase.java:180)
Truncated. see log file for complete stacktrace
>
<May 24, 2013 3:36:18 PM CEST> <Error> <JMX> <BEA-149500> <An exception occurred while registering the MBean null.
java.lang.IllegalArgumentException: Registered more than one instance with the same objectName : com.bea:ServerRuntime=AdminServer,Name=default,ApplicationRuntime=liferay,Type=WorkManagerRuntime new:weblogic.work.WorkManagerRuntimeMBeanImpl@11e5966b existing weblogic.work.WorkManagerRuntimeMBeanImpl@550b98aa
at weblogic.management.jmx.ObjectNameManagerBase.registerObject(ObjectNameManagerBase.java:168)
at weblogic.management.mbeanservers.internal.WLSObjectNameManager.lookupObjectName(WLSObjectNameManager.java:131)
at weblogic.management.jmx.modelmbean.WLSModelMBeanFactory.registerWLSModelMBean(WLSModelMBeanFactory.java:87)
at weblogic.management.mbeanservers.internal.RuntimeMBeanAgent$1.registered(RuntimeMBeanAgent.java:104)
at weblogic.management.provider.core.RegistrationManagerBase.invokeRegistrationHandlers(RegistrationManagerBase.java:180)
Truncated. see log file for complete stacktrace
>
<May 24, 2013 3:36:18 PM CEST> <Error> <JMX> <BEA-149500> <An exception occurred while registering the MBean null.
java.lang.IllegalArgumentException: Registered more than one instance with the same objectName : com.bea:ServerRuntime=AdminServer,Name=default@liferay@null,WorkManagerRuntime=default,ApplicationRuntime=liferay,Type=RequestClassRuntime new:weblogic.work.RequestClassRuntimeMBeanImpl@77f653fa existing weblogic.work.RequestClassRuntimeMBeanImpl@6c53ec84
at weblogic.management.jmx.ObjectNameManagerBase.registerObject(ObjectNameManagerBase.java:168)
at weblogic.management.mbeanservers.internal.WLSObjectNameManager.lookupObjectName(WLSObjectNameManager.java:131)
at weblogic.management.jmx.modelmbean.WLSModelMBeanFactory.registerWLSModelMBean(WLSModelMBeanFactory.java:87)
at weblogic.management.mbeanservers.internal.RuntimeMBeanAgent$1.registered(RuntimeMBeanAgent.java:104)
at weblogic.management.provider.core.RegistrationManagerBase.invokeRegistrationHandlers(RegistrationManagerBase.java:180)
Truncated. see log file for complete stacktrace
>
May 24, 2013 3:36:32 PM com.liferay.portal.kernel.log.Jdk14LogImpl info
INFO: Detected server weblogic
Loading zip:/opt/oracle/user_projects/domains/weblogic/servers/AdminServer/tmp/_WL_user/liferay/3t4tek/war/WEB-INF/lib/portal-impl.jar!/system.properties
May 24, 2013 3:36:32 PM com.liferay.portal.kernel.log.Jdk14LogImpl info
INFO: Global shared lib directory /opt/oracle/modules/
May 24, 2013 3:36:32 PM com.liferay.portal.kernel.log.Jdk14LogImpl info
INFO: Global lib directory /opt/oracle/user_projects/domains/weblogic/lib/
May 24, 2013 3:36:32 PM com.liferay.portal.kernel.log.Jdk14LogImpl info
INFO: Portal lib directory /opt/oracle/user_projects/domains/weblogic/servers/AdminServer/tmp/_WL_user/liferay/3t4tek/war/WEB-INF/lib/
May 24, 2013 3:36:33 PM com.liferay.portal.kernel.log.Jdk14LogImpl info
INFO: Properties for portal loaded from [file:/opt/oracle/user_projects/domains/portal-ext.properties, zip:/opt/oracle/user_projects/domains/weblogic/servers/AdminServer/tmp/_WL_user/liferay/3t4tek/war/WEB-INF/lib/portal-impl.jar!/portal.properties]
Loading zip:/opt/oracle/user_projects/domains/weblogic/servers/AdminServer/tmp/_WL_user/liferay/3t4tek/war/WEB-INF/lib/portal-impl.jar!/portal.properties
Loading file:/opt/oracle/user_projects/domains/portal-ext.properties
<May 24, 2013 3:37:08 PM CEST> <Warning> <HTTP> <BEA-101342> <liferay: Error(s) encountered while precompiling JSP jspURI
configuration.jsp:17:18: Error in "init.jsp" at line 249: The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit
<%@ include file="/html/portlet/asset_publisher/init.jsp" %>
^--------------------------------------^
>
<May 24, 2013 3:37:08 PM CEST> <Warning> <J2EE> <BEA-160140> <Unresolved optional package references (in META-INF/MANIFEST.MF): [Extension-Name: javax.crypto, referenced from: /opt/oracle/user_projects/domains/weblogic/servers/AdminServer/tmp/_WL_user/liferay/3t4tek/war/WEB-INF/lib/_wl_cls_gen.jar]. Ensure that the referenced optional package has been deployed as a library.>
15:37:28,951 INFO [[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'][DialectDetector:71] Determine dialect for Oracle 11
15:37:29,105 INFO [[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'][DialectDetector:136] Found dialect org.hibernate.dialect.Oracle10gDialect
May 24, 2013 3:37:43 PM net.sf.ehcache.Cache initialise
WARNING: Cache: com.liferay.portal.service.impl.PortletLocalServiceImpl has a maxElementsInMemory of 0. In Ehcache 2.0 this has been changed to mean a store with no capacity limit. Set it to 1 if you want no elements cached in memory
May 24, 2013 3:38:31 PM org.quartz.impl.StdSchedulerFactory instantiate
INFO: Using default implementation for ThreadExecutor
Exception in thread "[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'"
<May 24, 2013 3:40:35 PM CEST> <Warning> <HTTP> <BEA-101162> <User defined listener com.liferay.portal.spring.context.PortalContextLoaderListener failed: java.lang.OutOfMemoryError: PermGen space.
java.lang.OutOfMemoryError: PermGen space
>
<May 24, 2013 3:40:38 PM CEST> <Warning> <HTTP> <BEA-101162> <User defined listener com.sun.faces.config.ConfigureListener failed: java.lang.OutOfMemoryError: PermGen space.
java.lang.OutOfMemoryError: PermGen space
>
Exception in thread "[STANDBY] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "[STANDBY] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'"
Exception in thread "[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'"
Exception in thread "[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'"
<May 24, 2013 11:03:12 PM CEST> <Critical> <WebLogicServer> <BEA-000386> <Server subsystem failed. Reason: java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space
>
Exception in thread "[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'"Hi,
ok thats it, i found the config file.
And yes i noticed my deployment and my jdbc connect got the same name :-/
Damn it im silly :(
Thanks a lot!
Jens
Edited by: 1008097 on 27.05.2013 05:21 -
Need help with a manifest file
I'm trying to make a jar file executable, and I've seen numerous questions and answers regarding this particular issue, and none of them helped me with my problem.
I have a batch file that runs the application without any problem, but when I try to create a manifest with the main class attribute copied char by char from my batch file and run it, I get a message "could not find the main class".
I been browsing the web for the past 4 hours* now and the only type of answers I see for that problem is something like this:
...Main-Class... "${main.class}".
This type of solution is worthless to me, since it doesn't tell me why my path is correct when I use the .bat file and incorrect when used in a .jar file.
Thanks,
Omer.I read there the related topics.
However, it wasn't even close to being helpful.
I'm using ant and the inner build.xml syntax is probably eluding me somewhere.
In fact, if it was possible to find an example build file that was written for ant 1.6 or later and contains the Main-Class attribute (I've seen some examples that contain an example file, but none of them contained the Main-Class attribute, and I found some Main-Class examples but none of them showed where they should go or how they should appear within the manifest file.
I'm at the point when I'm about to give up the whole idea and provide the unprofessionally looking .bat file.
I thank anyone who has put his mind to this issue, but if there is no build.xml example, I guess you can't help me.
Thanks anyway.
It's frustrating to see how the most flexible language there is to work with when coding, becomes next to impossible to work with when you need to deploy it.
Update, 30.04.2008:
I have managed to figure out that the problem wasn't with the main class, but with the classpath.
I run the program from Intellij, and everything works perfectly. I use a batch file, and perfect. I try to use an Ant generated jar with the classpath attribute set exactly like the batch file's paths, and nothing.
There is no error message either.
The classpath is located under "/lib/*.jar" in the distribution directory, where the "program.jar" is located.
I have come to the point that i would pay to see a proper working build.xml and to see the relative and absolute paths of the classpath.
This is actually harder than developing an extremely rich server application.
Edited by: omerk76 on Apr 30, 2008 11:04 AM -
Powershell: How do I upload files with metadata from a manifest file?
I am using the script from this blog to try to upload files into SharePoint, using a manifest file to specify the metadata associated with each file. Right now, the script works, but is not populating
the metadata from the manifest (xml) file. When I write the $metadataManifest variable out to the console, I get the contents of my xml file, so the code is reading the file when it should. However when it gets to the line in bold ($metadataManifest.Columns.Column),
it does not go into that block...it just skips on to checkin the file. Again the $metadataManifest variable shows all the content in my xml manifest file. Here is what the script looks like...
#Get web and document library objects
$web = Get-SPWeb "http://companySite"
$Library = "My Library"
$docLibrary = $web.Lists[$Library]
$ManifestFilePath = "C:\PowerShellScripts\Manifest.xml"
$LocalPath = "C:\Upload\Test Upload\My Upload Directory\"
if ($ManifestFilePath)
$metadataManifest = (Get-Content ($ManifestFilePath))
write-host "Manifest file: " $metadataManifest
else
write-host "Manifest file not specified for categorising uploaded documents"
#Check for the LibraryStartFolder parameter to specify a root folder
if ($PSBoundParameters.ContainsKey('LibraryStartFolder')) {
$folder = $web.GetFolder($docLibrary.Title + $LibraryStartFolder)
else
$folder = $docLibrary.RootFolder
#Attach to local folder and enumerate through all files
if($IncludeSubFolders) {
$files = Get-ChildItem $LocalPath -Recurse
else
$files = Get-ChildItem $LocalPath
$files | ForEach-Object {
#Check if the object is a folder - if so, create it in doc library
if ($_.PSIsContainer) {
if (($IncludeSubFolders) -and (!$FlattenStructure)) {
#Generate folder path for creation in SharePoint
#by looking at the parent folder on the local path
$spFolderPath = ($_.Parent.FullName.Replace($LocalPath,"")).Replace("\","/")
#Get the folder into which the new folder will be created
#by adding the folder path generated above, if one existed
if ($spFolderPath -eq "") {
$currentFolder = $web.GetFolder($folder.Url)
else
$currentFolder = $web.GetFolder($folder.Url + $spFolderPath)
#Check to see if subfolder already exists
#and create it if not
$testFolder = $currentFolder.SubFolders[$_.Name]
if ($testFolder -eq $null) {
write-host "`nAdding folder" $_.Name "to" $docLibrary.Title "in" $web.Title "..." -foregroundcolor Green
$newFolder = $currentFolder.SubFolders.Add($_.Name)
else
write-host "`nFolder" $_.Name "already exists in" $docLibrary.Title "and shall not be created" -foregroundcolor Red
else
#Generate file path for upload into SharePoint
if ($FlattenStructure) {
$spFilePath = ("/" + $_.Name)
else
$spFilePath = ($_.FullName.Replace($LocalPath,"")).Replace("\","/")
$spFullPath = $folder.Url + "/" + $spFilePath
#Check if the file exists and the overwrite option is selected before adding the file
if ((!$web.GetFile($spFullPath).Exists) -or ($Overwrite)) {
#Add file
write-host "`nCopying" $_.Name "to" $spFullPath.Replace("/" + $_.Name,"") "in" $web.Title "..." -foregroundcolor Green
$spFile = $folder.Files.Add($spFullPath, $_.OpenRead(), $true)
#$spFile = $folder.Files.Add($folder.Url + "/" + $file.Name, [System.IO.Stream]$fileStream, $true)
$spItem = $spFile.Item
#Walk through manifest XML file and configure column values on the file
$metadataManifest.Columns.Column | ForEach-Object {
#Single value text columns
try
if (($_.Type -eq "Text") -or
($_.Type -eq "Choice") -or
($_.Type -eq "Boolean") -or
($_.Type -eq "Number") -or
($_.Type -eq "Currency")) {
$columnName = $_.Name
write-host "Setting value on column"$columnName "..." -foregroundcolor Blue
$_.Values.Value | ForEach-Object {
$spItem[$columnName] = $_
write-host "Value set to"$_
catch {}
#Multiple line text column
try
catch {}
#Multiple choice columns
try
catch {}
#Hyperlink columns
try
catch {}
#Single User column
try
catch {}
#Multiple User column
try
catch {}
#Single value Managed Metadata column
try
catch {}
#Multi value Managed Metadata column
try
catch {}
#Update document with new column values
$spItem.SystemUpdate($false)
#Check in file to document library (if required)
#MinorCheckIn=0, MajorCheckIn=1, OverwriteCheckIn=2
if ($CheckIn) {
if ($spFile.CheckOutStatus -ne "None") {
$spFile.CheckIn("File copied from " + $filePath, 1)
write-host $spfile.Name"checked in"
#Approve file (if required)
if ($Approve) {
if ($spItem.ListItems.List.EnableModeration -eq $true) {
$spFile.Approve("File automatically approved after copying from " + $filePath)
if ($spItem["Approval Status"] -eq 0) { write-host $spfile.Name"approved" }
else
write-host "`nFile"$_.Name "already exists in" $spFullPath.Replace("/" + $_.Name,"") "and shall not be uploaded" -foregroundcolor Red
$web.Dispose()
And here is what the manifest file looks like...
<?xml version="1.0" encoding="utf-8"?>
<Columns>
<Column Name="Column1" Type="Text">
<Values>
<Value>First File</Value>
</Values>
</Column>
<Column Name="Column2" Type="Text">
<Values>
<Value>12585</Value>
</Values>
</Column>
<Column name="Column3" type="Text">
<Values>
<Value>Some Data</Value>
</Values>
</Column>
<Column name="Column4" type="Text">
<Values>
<Value>More Data</Value>
</Values>
</Column>
</Columns>
<Columns>
<Column Name="Column1" Type="Text">
<Values>
<Value>Second File</Value>
</Values>
</Column>
<Column Name="Column2" Type="Text">
<Values>
<Value>9876</Value>
</Values>
</Column>
<Column name="Column3" type="Text">
<Values>
<Value>Some Data2</Value>
</Values>
</Column>
<Column name="Column4" type="Text">
<Values>
<Value>More more Data</Value>
</Values>
</Column>
</Columns>
I can't figure out what am doing wrong...why my script is not iterating through the manifest file to upload the document along with the metadata. I would really appreciate any help. ThanksHi Spawn,
Name should not be a problem.. I will probably post you the entire code (I modified it to meet your goals for having multiple column xml nodes as well)
For the code snippet below:
a. In powershell all my changes will have ## prefixed comments
b. in XML I have changed one column name to "Name" to replicate your case and also added a parent node for making the xml well formed.
and the SharePoint output
Please see the code below
$web = Get-SPWeb "http://intranet/sites/test"
$Library = "My Library"
$docLibrary = $web.Lists[$Library]
$ManifestFilePath = "D:\Manifest.xml"
$LocalPath = "D:\UploadPath\"
if ($ManifestFilePath)
##read the xml file as an xml object
[xml]$metadataManifest = (Get-Content ($ManifestFilePath))
write-host "Manifest file: " $metadataManifest
else
write-host "Manifest file not specified for categorising uploaded documents"
#Check for the LibraryStartFolder parameter to specify a root folder
if ($PSBoundParameters.ContainsKey('LibraryStartFolder')) {
$folder = $web.GetFolder($docLibrary.Title + $LibraryStartFolder)
else
$folder = $docLibrary.RootFolder
#Attach to local folder and enumerate through all files
if($IncludeSubFolders) {
$files = Get-ChildItem $LocalPath -Recurse
else
$files = Get-ChildItem $LocalPath
$counter=0
$files | ForEach-Object {
#Check if the object is a folder - if so, create it in doc library
if ($_.PSIsContainer) {
if (($IncludeSubFolders) -and (!$FlattenStructure)) {
#Generate folder path for creation in SharePoint
#by looking at the parent folder on the local path
$spFolderPath = ($_.Parent.FullName.Replace($LocalPath,"")).Replace("\","/")
#Get the folder into which the new folder will be created
#by adding the folder path generated above, if one existed
if ($spFolderPath -eq "") {
$currentFolder = $web.GetFolder($folder.Url)
else
$currentFolder = $web.GetFolder($folder.Url + $spFolderPath)
#Check to see if subfolder already exists
#and create it if not
$testFolder = $currentFolder.SubFolders[$_.Name]
if ($testFolder -eq $null) {
write-host "`nAdding folder" $_.Name "to" $docLibrary.Title "in" $web.Title "..." -foregroundcolor Green
$newFolder = $currentFolder.SubFolders.Add($_.Name)
else
write-host "`nFolder" $_.Name "already exists in" $docLibrary.Title "and shall not be created" -foregroundcolor Red
else
#Generate file path for upload into SharePoint
if ($FlattenStructure) {
$spFilePath = ("/" + $_.Name)
else
$spFilePath = ($_.FullName.Replace($LocalPath,"")).Replace("\","/")
$spFullPath = $folder.Url + "/" + $spFilePath
#Check if the file exists and the overwrite option is selected before adding the file
if ((!$web.GetFile($spFullPath).Exists) -or ($Overwrite)) {
#Add file
write-host "`nCopying" $_.Name "to" $spFullPath.Replace("/" + $_.Name,"") "in" $web.Title "..." -foregroundcolor Green
$spFile = $folder.Files.Add($spFullPath, $_.OpenRead(), $true)
#$spFile = $folder.Files.Add($folder.Url + "/" + $file.Name, [System.IO.Stream]$fileStream, $true)
$spItem = $spFile.Item
## ensure we pick the corresponding node in the columns xml (first file, first xml node, second file - second node likewise)
#Walk through manifest XML file and configure column values on the file
$metadataManifest.FileData.Columns[$counter].Column | ForEach-Object {
#Single value text columns
try
if (($_.Type -eq "Text") -or
($_.Type -eq "Choice") -or
($_.Type -eq "Boolean") -or
($_.Type -eq "Number") -or
($_.Type -eq "Currency")) {
$columnName = $_.Name
write-host "Setting value on column"$columnName "..." -foregroundcolor Blue
$_.Values.Value | ForEach-Object {
$spItem[$columnName] = $_
write-host "Value set to"$_
catch {}
#Multiple line text column
try
catch {}
#Multiple choice columns
try
catch {}
#Hyperlink columns
try
catch {}
#Single User column
try
catch {}
#Multiple User column
try
catch {}
#Single value Managed Metadata column
try
catch {}
#Multi value Managed Metadata column
try
catch {}
#Update document with new column values
$spItem.SystemUpdate($false)
##increment the counter to read the next xml node
$counter++
#Check in file to document library (if required)
#MinorCheckIn=0, MajorCheckIn=1, OverwriteCheckIn=2
if ($CheckIn) {
if ($spFile.CheckOutStatus -ne "None") {
$spFile.CheckIn("File copied from " + $filePath, 1)
write-host $spfile.Name"checked in"
#Approve file (if required)
if ($Approve) {
if ($spItem.ListItems.List.EnableModeration -eq $true) {
$spFile.Approve("File automatically approved after copying from " + $filePath)
if ($spItem["Approval Status"] -eq 0) { write-host $spfile.Name"approved" }
else
write-host "`nFile"$_.Name "already exists in" $spFullPath.Replace("/" + $_.Name,"") "and shall not be uploaded" -foregroundcolor Red
$web.Dispose()
and the xml file
<?xml version="1.0" encoding="utf-8"?>
<FileData>
<Columns>
<Column Name="Name" Type="Text">
<Values>
<Value>First File</Value>
</Values>
</Column>
<Column Name="Column2" Type="Text">
<Values>
<Value>12585</Value>
</Values>
</Column>
<Column name="Column3" type="Text">
<Values>
<Value>Some Data</Value>
</Values>
</Column>
<Column name="Column4" type="Text">
<Values>
<Value>More Data</Value>
</Values>
</Column>
</Columns>
<Columns>
<Column Name="Name" Type="Text">
<Values>
<Value>Second File</Value>
</Values>
</Column>
<Column Name="Column2" Type="Text">
<Values>
<Value>12585</Value>
</Values>
</Column>
<Column name="Column3" type="Text">
<Values>
<Value>Some Data</Value>
</Values>
</Column>
<Column name="Column4" type="Text">
<Values>
<Value>More Data</Value>
</Values>
</Column>
</Columns>
<Columns>
<Column Name="Name" Type="Text">
<Values>
<Value>Third File</Value>
</Values>
</Column>
<Column Name="Column2" Type="Text">
<Values>
<Value>12585</Value>
</Values>
</Column>
<Column name="Column3" type="Text">
<Values>
<Value>Some Data</Value>
</Values>
</Column>
<Column name="Column4" type="Text">
<Values>
<Value>More Data</Value>
</Values>
</Column>
</Columns>
<Columns>
<Column Name="Name" Type="Text">
<Values>
<Value>Fourth File</Value>
</Values>
</Column>
<Column Name="Column2" Type="Text">
<Values>
<Value>12585</Value>
</Values>
</Column>
<Column name="Column3" type="Text">
<Values>
<Value>Some Data</Value>
</Values>
</Column>
<Column name="Column4" type="Text">
<Values>
<Value>More Data</Value>
</Values>
</Column>
</Columns>
<Columns>
<Column Name="Name" Type="Text">
<Values>
<Value>Fifth File</Value>
</Values>
</Column>
<Column Name="Column2" Type="Text">
<Values>
<Value>12585</Value>
</Values>
</Column>
<Column name="Column3" type="Text">
<Values>
<Value>Some Data</Value>
</Values>
</Column>
<Column name="Column4" type="Text">
<Values>
<Value>More Data</Value>
</Values>
</Column>
</Columns>
</FileData>
Thanks and Regards,
Partha
AvePoint -
How to put chinese character in the Manifest file
Hi,
I want to know that how can we put chinese characters in the manifest file. Please suggest a solution.
Regards[slightly confused stuff removed]Sorry, AmitChalwade123456, I know trolling can be very funny, but you're confusing the sh*t out of newbies with this almost-seems-usefull kind of talk.
Stop that.
And in case you really meant that seriously: Please refrain from giving advice with regard to encoding. What you posted is wrong (to put it mildly). -
Unable to find the report in the manifest resources
<p>Hi!</p><p>I have problem using Crystal Report documents created in Visual Studio 2005 using the build-in version of Crystal Reports. If I create a project from scratch with one report and then some code to initialize and export the report to disk I get the following error message:</p><p>"Unhandled Exception: CrystalDecisions.CrystalReports.Engine.LoadSaveReportException: Unable to find the report in the manifest resources. Please build the project, and try again."</p><p>I have tried using both the "Embedded resource" and the "Content" options during build, but with no luck at all. When using the Content option I explicitly load the rpt-file but no luck at all. Do anyone have a clue to what the problem is? I have absolutely no idea. The things worked in Visual Studio 2003 but not in 2005. What is the manifest resource?</p><p>Would really appreciate some help, thanks in advance!</p><p>My source code is below.</p><p>Best regards<br />Lars</p>class Program {<br /><font size="1"><font color="#0000ff"> public</font> <font color="#0000ff">static</font> <font color="#008080">TableLogOnInfo</font> CreateConnectionInfo(<font color="#0000ff">string</font> userID, <font color="#0000ff">string</font> password, <font color="#0000ff">string</font> serverName, <font color="#0000ff">string</font> databaseName) {<br /> <font color="#008080">TableLogOnInfo</font> conInfo = <font color="#0000ff">new</font> <font color="#008080">TableLogOnInfo</font>();<br /> conInfo.ConnectionInfo.UserID = userID;<br /> conInfo.ConnectionInfo.Password = password;<br /> conInfo.ConnectionInfo.ServerName = serverName;<br /> conInfo.ConnectionInfo.DatabaseName = databaseName;<br /><font color="#0000ff"> return</font> conInfo;<br /> }<br /><br /></font><font color="#0000ff"><font size="1"><font color="#0000ff"> public</font> <font color="#0000ff">static</font> <font color="#008080">ReportClass</font> CreatePersonalWillReport(<font color="#008080">TableLogOnInfo</font> conInfo, </font><font size="1"><font color="#0000ff">string</font> personID) {<br /> </font><font size="1"><font color="#008080">ReportClass</font> doc = <font color="#0000ff">new</font> <font color="#008080">ReportClass</font>();<br /> </font><font size="1">doc.Load(<font color="#800000">@"C:\Utveckling\reports\main\ClassLibrary1\bin\Debug\CrystalReport1.rpt"</font>);<br /> </font><font size="1"><font color="#008080">List</font><<font color="#008080">ReportParameter</font>> parameters = <font color="#0000ff">new</font> <font color="#008080">List</font><<font color="#008080">ReportParameter</font>>();<br /> </font><font size="1">parameters.Add(<font color="#0000ff">new</font> <font color="#008080">ReportParameter</font>(<font color="#800000">"@personID"</font>, personID));<br /> </font><font size="1"><font color="#0000ff">return</font> ApplyReportParameters(doc, parameters, conInfo);<br /> }</font></font><font color="#0000ff"> <p> </p><p><font size="1"><font color="#0000ff"> public</font> <font color="#0000ff">static</font> <font color="#0000ff">void</font> ExportReportToDisk(<font color="#0000ff">string</font> fileName, </font><font size="1"><font color="#008080">ReportClass</font> report, </font><font size="1"><font color="#008080">ExportFormatType</font> formatType) {<br /> </font><font size="1">report.ExportToDisk(formatType, fileName);<br /> </font><font size="1">}</font></p><p><font size="1"><font color="#0000ff"> protected</font> <font color="#0000ff">static</font> <font color="#008080">ReportClass</font> ApplyReportParameters(<font color="#008080">ReportClass</font> report, <font color="#008080">List</font><<font color="#008080">ReportParameter</font>> paramList, </font><font size="1"><font color="#008080">TableLogOnInfo</font> conInfo) {<br /> </font><font size="1"><font color="#0000ff">foreach</font> (<font color="#008080">Table</font> t <font color="#0000ff">in</font> report.Database.Tables) {<br /> </font><font size="1">t.ApplyLogOnInfo(conInfo);<br /> </font><font size="1">}</font></p><p><font size="1"> <font color="#0000ff">foreach</font> (<font color="#008080">Section</font> s <font color="#0000ff">in</font> report.ReportDefinition.Sections) {<br /> </font><font size="1"><font color="#0000ff">foreach</font> (<font color="#008080">ReportObject</font> ro <font color="#0000ff">in</font> s.ReportObjects) {<br /> </font><font size="1"><font color="#0000ff">if</font> (ro.Kind == CrystalDecisions.Shared.<font color="#008080">ReportObjectKind</font>.SubreportObject) { <br /></font><font size="1"><font color="#008080"> SubreportObject</font> sro = (<font color="#008080">SubreportObject</font>)ro;<br /> </font><font size="1"><font color="#008080">ReportDocument</font> doc = sro.OpenSubreport(sro.SubreportName);</font></p><p><font size="1"><font color="#0000ff"> foreach</font> (<font color="#008080">Table</font> t <font color="#0000ff">in</font> doc.Database.Tables) {<br /> </font><font size="1">t.ApplyLogOnInfo(conInfo);</font></p><p><font size="1"> }<br /> </font><font size="1">}<br /> </font><font size="1">}<br /> </font><font size="1">}<br /><br /> </font><font size="1"><font color="#0000ff">foreach</font> (<font color="#008080">ParameterFieldDefinition</font> paramField <font color="#0000ff">in</font> report.DataDefinition.ParameterFields) {<br /> </font><font size="1"><font color="#0000ff">foreach</font> (<font color="#008080">ReportParameter</font> rp <font color="#0000ff">in</font> paramList) {<br /> </font><font size="1"><font color="#0000ff">if</font> (paramField.Name == rp.Name) {<br /> </font><font size="1"><font color="#008080">ParameterValues</font> pv = paramField.CurrentValues;<br /> </font><font size="1"><font color="#0000ff">string</font> s = (<font color="#0000ff">string</font>)rp.Value.Value;<br /> </font><font size="1"><font color="#008080">ParameterDiscreteValue</font> pdv = <font color="#0000ff">new</font> <font color="#008080">ParameterDiscreteValue</font>();<br /> </font><font size="1">pdv.Value = s;<br /> </font><font size="1">pv.Add(pdv);<br /> </font><font size="1">paramField.ApplyCurrentValues(pv);<br /> </font><font size="1">}<br /> </font><font size="1">}<br /> </font><font size="1">}</font></p><p><font size="1"><font color="#0000ff"> return</font> report;</font></p><p><font size="1"> }</font></p><p> </p><p><font size="1"><font color="#0000ff"> static</font> <font color="#0000ff">void</font> Main(<font color="#0000ff">string</font>[] args) {<br /> </font><font size="1"><font color="#008080">TableLogOnInfo</font> conInfo = CreateConnectionInfo(<font color="#800000">"username"</font>, <font color="#800000">"password"</font>,<br /> </font><font size="1"><font color="#800000">"server"</font>, <font color="#800000">"database"</font>);<br /> </font><font size="1"><font color="#008080">ReportClass</font> report = CreatePersonalWillReport(conInfo, <font color="#800000">"-1291000956"</font>);<br /> </font><font size="1">ExportReportToDisk(<font color="#800000">"C:\temp\report.pdf"</font>, report, <font color="#008080">ExportFormatType</font>.PortableDocFormat);<br /> </font><font size="1">}</font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"><summary></font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> Helper class that contains parameter key/value pairs.</font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"></summary></font></font></p><p><font size="1"><font color="#0000ff">protected</font> <font color="#0000ff">class</font> <font color="#008080">ReportParameter</font> {</font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"><summary></font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> The parameter name.</font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"></summary></font></font></p><p><font size="1"><font color="#0000ff">private</font> <font color="#0000ff">string</font> name = <font color="#0000ff">null</font>;</font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"><summary></font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> The parameter value.</font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"></summary></font></font></p><p><font size="1"><font color="#0000ff">private</font> <font color="#008080">ParameterDiscreteValue</font> value = <font color="#0000ff">new</font> <font color="#008080">ParameterDiscreteValue</font>();</font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"><summary></font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> The parameter name.</font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"></summary></font></font></p><p><font size="1"><font color="#0000ff">public</font> <font color="#0000ff">string</font> Name {</font></p><p><font size="1"><font
color="#0000ff">get</font> {</font></p><p><font size="1"><font color="#0000ff">return</font> <font color="#0000ff">this</font>.name;</font></p><p><font size="1">}</font></p><p><font size="1"><font color="#0000ff">set</font> {</font></p><p><font size="1"><font color="#0000ff">this</font>.name = <font color="#0000ff">value</font>;</font></p><p><font size="1">}</font></p><p><font size="1">}</font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"><summary></font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> The parameter value.</font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"></summary></font></font></p><p><font size="1"><font color="#0000ff">public</font> <font color="#008080">ParameterDiscreteValue</font> Value {</font></p><p><font size="1"><font color="#0000ff">get</font> {</font></p><p><font size="1"><font color="#0000ff">return</font> <font color="#0000ff">this</font>.value;</font></p><p><font size="1">}</font></p><p><font size="1"><font color="#0000ff">set</font> {</font></p><p><font size="1"><font color="#0000ff">this</font>.value = <font color="#0000ff">value</font>;</font></p><p><font size="1">}</font></p><p><font size="1">}</font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"><summary></font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> The constructor.</font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"></summary></font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"><param name="name"></font><font color="#008000">the parameter name</font><font color="#808080"></param></font></font></p><p><font size="1"><font color="#808080">///</font><font color="#008000"> </font><font color="#808080"><param name="value"></font><font color="#008000">the parameter value</font><font color="#808080"></param></font></font></p><p><font size="1"><font color="#0000ff">public</font> ReportParameter(<font color="#0000ff">string</font> name, <font color="#0000ff">object</font> value) {</font></p><p><font size="1"><font color="#0000ff">this</font>.name = name;</font></p><p><font size="1"><font color="#0000ff">this</font>.value.Value = value;</font></p><p><font size="1">}</font></p><p><font size="1">}</font></p></font>Lars,
 Have you read the CRnet_deployment.doc if not it may help fix your problem (It didnt mine but hey you may be lucky) See http://support.businessobjects.com/communitycs/technicalpapers/crnet_deployment.pdf
I have a similar issue but in 2003.net using the bundled CR package. I'm trying to use CR in a Web Service called from a Compact Framework device. I've confirmed I'm using the correct Merge Modules & my Build Actions are all set as stated in the CR Application Deployment document but it still spits out Unable to find the report in the manifest resources
I've looked extensively on the net and while others have had this problem the only advice I've seen revolves around embedded build actions and using the correct merge modules. There must be something else causing this problem and some one who has found a way round it?!?
If your that someone please take 5 minutes out and help a couple of guys in distress?
Thanks in advance,
Ian -
How to use manifest file in Adobe Photoshop Filter Plugin
Hi all,
I am developing the Photoshop Filter plugin using wxWidgets-2.6.2 on PhotoshopSDK CS2 for windowsXP.I am unable to use XP themes in my plugin.Though I have already added the following line in my Plugin .rc file ----->
2 RT_MANIFEST "Plugin.manifest"
I have also added the "ISOLATION_AWARE_ENABLED" in the properties.
But still I am unable to use XP themes in my Plugin. Please Help!!!
Regards
Deepesh NegiThanks, that helps.
-
Regarding ALV ( To be displayed in Tree Format)
Hi all,
I am working on a ALV report which is to be displayed in Tree Structure . I found some demo programs within SAP .. but do we have an Alternative .. all those Demos use OOPS concept .. Can this Report be done without using OOPS in ALV.
Please Suggest.
Thanks & Regards
SrinivasHi,
This is a ALV Report with tree structure.
report zwmr_pick_status_report no standard page heading
message-id zw.
Type Pools *
type-pools: icon, slis.
Tables *
tables: tvst,
likp,
t30b,
vekp,
zpallettr,
zvantr.
Types *
types:
begin of ty_data,
lgtor like likp-lgtor, " door
vbeln like likp-vbeln, " delivery
wbstk like vbuk-wbstk, " Goods movement status
kostk like vbuk-kostk, " Picking status
posnr like lips-posnr, " item
route like likp-route, " route
wadat like likp-wadat, " goods issue date
lvsta like vbup-lvsta, " warehouse status
packvorschr like vekp-packvorschr, " pack mnemonic
exidv like vekp-exidv, " handling unit
zpallet_no(10), "like zpallettr-zpallet_no, " pallet no
zcount_check like zpallettr-zcount_check," count check flag
zvan_no(10), "like zvantr-zvan_no, " van no
zvan_print like zvantr-zvan_print, " van manifest print
zeod_print like zvantr-zeod_print, " eod manifest print
zzpackclass like vekp-zzpackclass, " package class
zzti like vekp-zzti, " T.I. value
end of ty_data.
Data *
ranges: r_del for likp-vbeln,
r_lgtor for likp-lgtor.
ranges: r_vanno for zvantr-zvan_no,
r_palno for zpallettr-zpallet_no.
data: begin of number_range occurs 0,
mark(1),
id(3),
num(10) type n,
desc like zpalletmd-zdesc,
end of number_range.
data: t_disp_tab type standard table of zpickdisp,
t_data_tab type ty_data occurs 0 with header line,
t_disp_head type standard table of zpickhead.
data: w_numrnge like number_range,
w_number(10) type n.
data: t_likp like likp occurs 0 with header line,
t_lips like lips occurs 0 with header line,
t_vbuk like vbuk occurs 0 with header line,
t_vbup like vbup occurs 0 with header line,
t_vepo like vepo occurs 0 with header line,
t_vekp like vekp occurs 0 with header line,
t_vantr like zvantr occurs 0 with header line,
t_pallettr like zpallettr occurs 0 with header line,
w_likp like likp,
w_lips like lips,
w_vbuk like vbuk,
w_vbup like vbup,
w_vepo like vepo,
w_vekp like vekp.
ALV DATA *****
data:
g_grid type ref to cl_gui_alv_grid,
g_sort type slis_t_sortinfo_alv,
g_custom_container type ref to cl_gui_custom_container,
g_layout type slis_layout_alv,
gt_fieldcat type slis_t_fieldcat_alv,
t_fldcat like line of gt_fieldcat,
g_keyinfo type slis_keyinfo_alv,
gt_events type slis_t_event,
gs_event type slis_alv_event,
w_sy_repid like sy-repid.
data: begin of seltab occurs 0.
include structure rsparams.
data: end of seltab.
SYSTEM GENERATED TABLE CONTROL DATA ********
DECLARATION OF TABLECONTROL 'TC_TABCON' ITSELF
controls: tc_tabcon type tableview using screen 0100.
LINES OF TABLECONTROL 'TC_TABCON'
data: g_tc_tabcon_lines like sy-loopc.
data: ok_code like sy-ucomm.
Constants *
constants: c_data_class like klah-class value 'DG_DATA',
c_mat_class like rmclf-klart value '001',
c_pack like lips-mtart value 'VERP',
c_a(1) value 'A',
c_b(1) value 'B',
c_c(1) value 'C',
c_yes(1) value 'X',
c_no(1) value ' '.
Selection screen *
standard report select options block
selection-screen begin of block a with frame title text-002.
select-options:
s_wadat for likp-wadat no-extension obligatory. " Goods Issue Date
*parameters: "TR01-
p_vstel like tvst-vstel obligatory. " Shipping Point "TR01-
select-options: "TR01+
p_vstel for tvst-vstel. " Shipping Point "TR01+
select-options:
s_lfart for likp-lfart, " Delivery type
s_lgtor for t30b-lgtor, " Door selection
s_exidv for vekp-exidv, " Handling Unit
s_vbeln for likp-vbeln. " Delivery
parameters:
p_exdata as checkbox. " Show extra columns flag
selection-screen end of block a.
van/pallet specific select options block
selection-screen begin of block b with frame title text-001.
select-options:
s_palno for zpallettr-zpallet_no, " no-extension,
s_vanno for zvantr-zvan_no. " no-extension.
selection-screen end of block b.
Value Request Events *
at selection-screen on value-request for s_palno-low.
clear: number_range, w_number .
refresh number_range.
select numbers and display pop up screen for selection
perform select_pal_nos.
s_palno-low = w_number.
at selection-screen on value-request for s_palno-high.
clear: number_range, w_number .
refresh number_range.
select numbers and display pop up screen for selection
perform select_pal_nos.
s_palno-high = w_number.
at selection-screen on value-request for s_vanno-low.
clear: number_range, w_number .
refresh number_range.
select numbers and display pop up screen for selection
perform select_van_nos.
s_vanno-low = w_number.
at selection-screen on value-request for s_vanno-high.
clear: number_range, w_number .
refresh number_range.
select numbers and display pop up screen for selection
perform select_van_nos.
s_vanno-high = w_number.
At Selection Screen *
at selection-screen.
perform validate_selections.
Initialization *
initialization.
Start of selection *
start-of-selection.
clear all data tables
clear: t_likp,
t_lips,
t_vbuk,
t_vbup,
t_vepo,
t_vantr,
t_pallettr,
w_likp,
w_lips,
w_vbuk,
w_vbup,
w_vepo,
w_vekp.
refresh: t_likp,
t_lips,
t_vbuk,
t_vbup,
t_vepo,
t_vantr,
t_pallettr.
select data for ALV
due to different input parameters being used, to streamline the data
selection process, different selection methods are required
if not s_vanno is initial
or not s_palno is initial.
if selecting by van/pallet number, need to select the data from the
handling unit upwards to delivery
perform select_data_up.
else.
otherwise the data can be selected from the delivery downwards
perform select_data_down.
endif.
End of selection *
end-of-selection.
call hierarchical ALV display function module
call function 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
exporting
i_callback_program = 'ZWMR_PICK_STATUS_REPORT'
i_callback_pf_status_set = 'SET_STATUS'
i_callback_user_command =
'USER_COMMAND' "custom gui status form
is_layout = g_layout "user command form
it_fieldcat = gt_fieldcat
it_sort = g_sort
it_events = gt_events
i_tabname_header = 't_disp_head'
i_tabname_item = 't_disp_tab'
i_structure_name_header = 'ZPICKHEAD'
i_structure_name_item = 'ZPICKDISP'
is_keyinfo = g_keyinfo
tables
t_outtab_header = t_disp_head
t_outtab_item = t_disp_tab.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
FORMS *
Includes inserted by Screen Painter Wizard. DO NOT CHANGE THIS LINE!
include zwmr_pick_status_reporto01 .
include zwmr_pick_status_reporti01 .
include zwmr_pick_status_reportf01 .
*& Form select_pal_nos
select pallet numbers for search help
form select_pal_nos.
data: begin of t_palno occurs 0,
zpallet_no like zpallettr-zpallet_no,
end of t_palno.
select all available pallet numbers
select distinct zpallet_no from zpallettr
into corresponding fields of table t_palno.
loop at t_palno.
get pallet id
select single zpallet_id from zpallettr
into number_range-id
where zpallet_no = t_palno-zpallet_no.
get pallet description
select single zdesc from zpalletmd
into number_range-desc
where zpallet_id = number_range-id.
number_range-num = t_palno-zpallet_no.
append to search help table
append number_range.
endloop.
call pop up dialog box
call screen 0100 starting at 5 5.
endform. " select_pal_nos
*& Form select_van_nos
select van numbers for search help
form select_van_nos.
data: begin of t_vanno occurs 0,
zvan_no like zvantr-zvan_no,
end of t_vanno.
select available van numbers
select distinct zvan_no from zvantr
into corresponding fields of table t_vanno.
loop at t_vanno.
select van id
select single zvan_id from zvantr
into number_range-id
where zvan_no = t_vanno-zvan_no.
select van description (maintained in pallet tables)
select single zdesc from zpalletmd
into number_range-desc
where zpallet_id = number_range-id.
number_range-num = t_vanno-zvan_no.
append to search help table
append number_range.
endloop.
call pop up dialog box
call screen 0100 starting at 5 5.
endform. " select_van_nos
*& Form select_data_down
select data if selecting from delivery down
form select_data_down.
select all deliveries from LIKP that fulfill selection criteria
select * from likp into table t_likp
where vbeln in s_vbeln
and vstel eq p_vstel "TR01-
and vstel in p_vstel
and lgtor in s_lgtor
and wadat in s_wadat
and lfart in s_lfart.
if sy-subrc ne 0.
no data found
message i007.
exit.
endif.
if not t_likp[] is initial.
select sales document headers from VBUK
select * from vbuk into table t_vbuk
for all entries in t_likp
where vbeln eq t_likp-vbeln.
select all relevant delivery items from LIPS
select * from lips into table t_lips
for all entries in t_likp
where vbeln eq t_likp-vbeln
and pstyv ne 'ZPAC'
and pstyv ne 'ZGDP' "TR02+
and lfimg gt 0. "TR01+
endif.
if not t_lips[] is initial.
select all sales document line items from VBUP
select * from vbup into table t_vbup
for all entries in t_lips
where vbeln eq t_lips-vbeln
and posnr = t_lips-posnr.
select corresponding handling unit ID's (venum)
TR03 Replace start
select * from vepo appending corresponding fields of table t_vepo
for all entries in t_lips
where vbeln = t_lips-vbeln
and posnr = t_lips-posnr
and matnr = t_lips-matnr
and charg = t_lips-charg.
select * from vepo
inner join vekp on vepovenum = vekpvenum
appending corresponding fields of table t_vepo
for all entries in t_lips
where vepo~vbeln = t_lips-vbeln
and vepo~posnr = t_lips-posnr
and vepo~matnr = t_lips-matnr
and vepo~charg = t_lips-charg
and vekp~exidv in s_exidv.
TR03 Replace end
endif.
build process table
perform move_to_table.
endform. "select_data_down
*& Form select_data_up
select data if selecting from van/pallet up
form select_data_up.
if not s_vanno is initial.
if van then select van numbers and hence pallet numbers
select * from zvantr into table t_vantr
where zvan_no in s_vanno.
and vstel eq p_vstel."TR01-
if not t_vantr[] is initial.
select * from zpallettr into table t_pallettr
for all entries in t_vantr
where zpallet_no eq t_vantr-zpallet_no.
and vstel eq p_vstel."TR01-
endif.
else.
otherwise can get pallet numbers directly
select * from zpallettr into table t_pallettr
where zpallet_no in s_palno.
and vstel eq p_vstel."TR01-
endif.
if not t_pallettr[] is initial.
from the pallet nos. we can select the handling units
select * from vekp into table t_vekp
for all entries in t_pallettr
where exidv eq t_pallettr-exidv
and exidv ne space
and exidv in s_exidv "TR03+
and ( exida = 'E' "TR01+
or exida = 'F' ). "TR01+
endif.
if not t_vekp[] is initial.
build vbeln range from t_vekp.
loop at t_vekp.
r_del-sign = 'I'.
r_del-option = 'EQ'.
r_del-low = t_vekp-vpobjkey.
append r_del.
endloop.
select all deliveries from LIKP that correspond to HU's
select * from likp into table t_likp
where vbeln in r_del
and wadat in s_wadat
and lfart in s_lfart.
endif.
if not t_likp[] is initial.
select sales document headers from VBUK
select * from vbuk into table t_vbuk
for all entries in t_likp
where vbeln eq t_likp-vbeln.
select all relevant delivery items from LIPS
select * from lips into table t_lips
for all entries in t_likp
where vbeln eq t_likp-vbeln
and pstyv ne 'ZPAC'
and pstyv ne 'ZGDP' "TR02+
and lfimg gt 0. "TR01+
endif.
if not t_lips[] is initial.
select all sales document line items from VBUP
select * from vbup into table t_vbup
for all entries in t_lips
where vbeln eq t_lips-vbeln
and posnr = t_lips-posnr.
select corresponding handling unit ID's (venum)
select * from vepo appending corresponding fields of table t_vepo
for all entries in t_lips
where vbeln = t_lips-vbeln
and posnr = t_lips-posnr
and matnr = t_lips-matnr
and charg = t_lips-charg.
endif.
build process table
perform move_to_table.
endform. "select_data_up
*& Form move_to_table
move data to processing table
form move_to_table.
loop at t_vepo.
clear t_data_tab.
delivery lines.
clear w_lips.
read table t_lips with key vbeln = t_vepo-vbeln
posnr = t_vepo-posnr
into w_lips.
move-corresponding w_lips to t_data_tab.
sales document line items
clear w_vbup.
read table t_vbup with key vbeln = t_vepo-vbeln
posnr = t_vepo-posnr
into w_vbup.
if w_vbup-kosta = space. "TR01-
not relevant for picking
delete t_vepo. "TR01-
continue. "TR01-
else. "TR01-
move-corresponding w_vbup to t_data_tab.
endif. "TR01-
sales doc header
clear w_vbuk.
read table t_vbuk with key vbeln = t_vepo-vbeln
into w_vbuk.
move-corresponding w_vbuk to t_data_tab.
delivery header
clear w_likp.
read table t_likp with key vbeln = t_vepo-vbeln
into w_likp.
move-corresponding w_likp to t_data_tab.
select handling unit info using vepo entry
clear w_vekp.
if t_vekp[] is initial.
select single * from vekp into w_vekp
where venum = t_vepo-venum.
else.
read table t_vekp with key venum = t_vepo-venum
into w_vekp.
if sy-subrc ne 0.
select single * from vekp into w_vekp
where venum = t_vepo-venum.
endif.
endif.
move-corresponding w_vekp to t_data_tab.
select pallet / van load information
select single zpallet_no zcount_check from zpallettr
into (t_data_tab-zpallet_no,
t_data_tab-zcount_check)
where exidv eq w_vekp-exidv.
if not t_data_tab-zpallet_no in s_palno. "TR01+
continue. "TR01+
endif. "TR01+
if sy-subrc = 0.
select single zvan_no zvan_print zeod_print from zvantr
into (t_data_tab-zvan_no,
t_data_tab-zvan_print,
t_data_tab-zeod_print)
where zpallet_no eq t_data_tab-zpallet_no.
if not t_data_tab-zvan_no in s_vanno. "TR01+
continue. "TR01+
endif. "TR01+
endif.
append t_data_tab.
endloop.
*-----> TR01+ start
If the delivery has yet to be packed, then need to include in report
Thus delete t_lips here and if any entries left after looping through
t_vepo, these will also need to be added to t_data_tab
if the selection is by handling unit though we do not want these"TR03+
if s_exidv is initial. "TR03+
loop at t_vepo.
read table t_lips with key vbeln = t_vepo-vbeln
posnr = t_vepo-posnr.
if sy-subrc = 0.
delete t_lips index sy-tabix.
endif.
endloop.
if not t_lips[] is initial.
move any unpacked items to the data table
perform move_lips_to_table.
endif.
endif. "TR03+
*<---- TR01+ End
get relevant status icons
perform select_icons.
prepare ALV data
perform prepare_alv.
endform. " select_data
*& Form select_icons
select icons for display and move data to display table
form select_icons.
data: w_disp_tab like zpickdisp,
w_disp_head like zpickhead,
w_color like zpickdisp-color,
ov_icon like zpickdisp-ov_icon,
gi_icon like zpickdisp-gi_icon,
to_icon like zpickdisp-to_icon,
lp_icon like zpickdisp-lp_icon,
pc_icon like zpickdisp-pc_icon,
lv_icon like zpickdisp-lv_icon,
vm_icon like zpickdisp-vm_icon,
em_icon like zpickdisp-em_icon,
t_ovst_tab like t_disp_tab with header line.
constants: c_col1(3) value 'C10',
c_col2(3) value 'C20'.
sort t_data_tab by lgtor vbeln.
w_color = c_col2.
loop at t_data_tab.
at new lgtor.
fill ALV header table
clear w_disp_head.
w_disp_head-lgtor = t_data_tab-lgtor.
append w_disp_head to t_disp_head.
endat.
goods issue status & overall amber/green only
case t_data_tab-wbstk.
when c_c.
move icon_green_light to gi_icon.
move icon_green_light to ov_icon.
when others.
move icon_red_light to gi_icon.
move icon_yellow_light to ov_icon.
endcase.
transfer order status
case t_data_tab-lvsta.
when c_a.
move icon_red_light to to_icon.
when c_b.
move icon_yellow_light to to_icon.
when c_c.
move icon_green_light to to_icon.
when space.
write N/A
to_icon = 'N/A'.
endcase.
loaded to pallet status
if not t_data_tab-zpallet_no is initial.
move icon_green_light to lp_icon.
else.
move icon_red_light to lp_icon.
endif.
pallet count status
if not t_data_tab-zcount_check is initial.
move icon_green_light to pc_icon.
else.
move icon_red_light to pc_icon.
endif.
loaded to van status
if not t_data_tab-zvan_no is initial.
move icon_green_light to lv_icon.
else.
move icon_red_light to lv_icon.
endif.
van manifest status
if not t_data_tab-zvan_print is initial.
move icon_green_light to vm_icon.
else.
move icon_red_light to vm_icon.
endif.
end of day manifest status
if not t_data_tab-zeod_print is initial.
move icon_green_light to em_icon.
else.
move icon_red_light to em_icon.
endif.
move working data table to display table
move-corresponding t_data_tab to w_disp_tab.
w_disp_tab-ov_icon = ov_icon.
w_disp_tab-gi_icon = gi_icon.
w_disp_tab-to_icon = to_icon.
w_disp_tab-lp_icon = lp_icon.
w_disp_tab-pc_icon = pc_icon.
w_disp_tab-lv_icon = lv_icon.
w_disp_tab-vm_icon = vm_icon.
w_disp_tab-em_icon = em_icon.
w_disp_tab-color = w_color.
fill N/A values for initial fields for display
if w_disp_tab-packvorschr is initial.
w_disp_tab-packvorschr = 'N/A'.
endif.
if w_disp_tab-exidv is initial.
w_disp_tab-exidv = 'N/A'.
endif.
if w_disp_tab-zpallet_no is initial.
write 'N/A' to w_disp_tab-zpallet_no.
endif.
if w_disp_tab-zvan_no is initial.
write 'N/A' to w_disp_tab-zvan_no.
endif.
display different color for new doc number
at end of vbeln.
if w_color = c_col1.
w_color = c_col2.
elseif w_color = c_col2.
w_color = c_col1.
endif.
endat.
append w_disp_tab to t_disp_tab.
clear w_disp_tab.
endloop.
we have all the icons in display but need to check the overall status
as this refers to the line items
green and amber statuses already set and use the same criteria as the
goods issue status unless detected as red here
data: ov_stat_red(1).
clear w_disp_tab.
sort t_disp_tab by vbeln.
loop at t_disp_tab into w_disp_tab.
at new vbeln.
check all line items for delivery
loop at t_data_tab where vbeln = w_disp_tab-vbeln.
if t_data_tab-lvsta = c_a.
set overall status to red
ov_stat_red = c_yes.
exit.
else.
leave green/amber status icon as previosly determined
endif.
endloop.
if ov_stat_red = c_yes.
set overall status to red for all items in that delivery
clear ov_stat_red.
move icon_red_light to w_disp_tab-ov_icon.
modify t_disp_tab from w_disp_tab transporting ov_icon
where vbeln = w_disp_tab-vbeln.
endif.
endat.
endloop.
endform. " select_icons
*& Form fill_layout
fill ALV layout parameters
form fill_layout.
clear g_layout.
g_layout-colwidth_optimize = c_yes. " column width optimisation
g_layout-zebra = space. " alternate line colors
g_layout-box_fieldname = 'MARK'. " checkbox fieldname
g_layout-info_fieldname = 'COLOR'. " highlight row indicator
g_layout-no_vline = space. " vertical line
g_layout-key_hotspot = space. " hotspot field
g_layout-f2code = 'PICK'. " F2 ok_code
g_layout-numc_sum = c_yes. " sum numc fields
g_layout-box_tabname = 't_disp_head'. " checkbox table name
g_layout-expand_fieldname = 'EXPAND'. " expand field name
endform. " fill_layout
*& Form fill_sort
fill ALV sort table
form fill_sort.
data: w_g_sort type slis_sortinfo_alv.
w_g_sort-spos = 1.
w_g_sort-fieldname = 'LGTOR'.
w_g_sort-tabname = 't_disp_tab'.
w_g_sort-up = c_yes.
append w_g_sort to g_sort.
w_g_sort-spos = 2.
w_g_sort-fieldname = 'VBELN'.
w_g_sort-tabname = 't_disp_tab'.
w_g_sort-up = c_yes.
append w_g_sort to g_sort.
w_g_sort-spos = 3.
w_g_sort-fieldname = 'POSNR'.
w_g_sort-tabname = 't_disp_tab'.
w_g_sort-up = c_yes.
append w_g_sort to g_sort.
w_g_sort-spos = 4.
w_g_sort-fieldname = 'WADAT'.
w_g_sort-tabname = 't_disp_tab'.
w_g_sort-up = c_yes.
append w_g_sort to g_sort.
endform. " fill_sort
*& Form fill_fieldcat
Fill field category structure for ALV
form fill_fieldcat.
clear t_fldcat.
create field catalogue for header table
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = 'ZWMR_PICK_STATUS_REPORT'
i_internal_tabname = 't_disp_head'
i_structure_name = 'ZPICKHEAD'
i_client_never_display = c_yes
changing
ct_fieldcat = gt_fieldcat[].
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
ceate field catalogue for items table
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = 'ZWMR_PICK_STATUS_REPORT'
i_internal_tabname = 't_disp_tab'
i_structure_name = 'ZPICKDISP'
i_client_never_display = c_yes
changing
ct_fieldcat = gt_fieldcat[].
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
modify field catalogue for this report
set no display flag if not requested on selection screen
if p_exdata ne c_yes.
t_fldcat-no_out = c_yes.
modify gt_fieldcat from t_fldcat transporting no_out
where fieldname eq 'PACKVORSCHR'
or fieldname eq 'EXIDV'
or fieldname eq 'ZPALLET_NO'
or fieldname eq 'ZVAN_NO'
or fieldname eq 'ZZPACKCLASS'
or fieldname eq 'ZZTI'.
endif.
set no display flag for item level LGTOR field
t_fldcat-no_out = c_yes.
modify gt_fieldcat from t_fldcat transporting no_out
where fieldname eq 'LGTOR'
and tabname eq 't_disp_tab'.
prevent display of technical fields
t_fldcat-tech = c_yes.
modify gt_fieldcat from t_fldcat transporting tech
where fieldname eq 'EXPAND'
or fieldname eq 'SELKZ'.
set vbeln as key
t_fldcat-key = c_yes.
modify gt_fieldcat from t_fldcat transporting key
where fieldname eq 'VBELN'.
prevent scrolling for info fields
t_fldcat-fix_column = c_yes.
modify gt_fieldcat from t_fldcat transporting fix_column
where fieldname eq 'VBELN'.
endform. " fill_fieldcat
*& Form prepare_ALV
Fill ALV parameters
form prepare_alv.
fill ALV key info
g_keyinfo-header01 = 'LGTOR'.
g_keyinfo-item01 = 'LGTOR'.
fill ALV events
gs_event-name = 'TOP_OF_PAGE'.
gs_event-form = 'TOP_OF_PAGE'.
append gs_event to gt_events.
fill ALV sort table
perform fill_sort.
fill ALV layout structure
perform fill_layout.
fill ALV field category
perform fill_fieldcat.
endform. " prepare_ALV
*& Form user_command
form called on user command from ALV list
form user_command using r_ucomm like sy-ucomm
rs_selfield type slis_selfield.
data: index type i,
w_disp_head like line of t_disp_head,
w_door like likp-lgtor.
clear r_lgtor. refresh r_lgtor.
case r_ucomm.
when 'PICK'. " Double click line
when 'VANM'. " Van Manifest button
read the header table where has been selected
loop at t_disp_head into w_disp_head where mark = c_yes.
r_lgtor-sign = 'I'.
r_lgtor-option = 'EQ'.
r_lgtor-low = w_disp_head-lgtor.
append r_lgtor.
endloop.
print the van manifest
perform print_van_manifest tables r_lgtor.
when 'EODM'. " EOD Manifest button
read the header table where has been selected
loop at t_disp_head into w_disp_head where mark = c_yes.
r_lgtor-sign = 'I'.
r_lgtor-option = 'EQ'.
r_lgtor-low = w_disp_head-lgtor.
append r_lgtor.
endloop.
print the end of day manifest
perform print_eod_manifest tables r_lgtor.
when 'REFR'. "Refresh
refresh display
w_sy_repid = sy-repid.
call function 'RS_REFRESH_FROM_SELECTOPTIONS'
exporting
curr_report = w_sy_repid
tables
selection_table = seltab.
exceptions
not_found = 1
no_report = 2
others = 3.
if sy- -
How to use JDeveloper with manifest.mfs?
I'm trying to figure out how to use JDeveloper to setup a J2EE application that contains two Web applications so that the Web applications will share the same instance of a log4j library.
I've created the two Web apps and their deployment profiles and I've created a deployment profile for the EAR that contains the two Web apps. I've successfully deployed the EAR to the stand-alone OC4J on my development system and run the two Web apps. Currently the two apps use a log4j library in j2ee\home\lib, but that option doesn't support using separate log4j.properties files for each application.
I've read the pre-release 9iAS 9.0.4 Servlet Developers Guide document and would like to use the third option described in the Guide's appendix that tells how to share the log4j library by specifying the log4j.jar file in a class-path entry in manifest.mf.
My problem is I just don't understand the in's and out's of using/creating manifest.mf files with JDeveloper and its deployment profiles.
Do I create manifest.mf's myself, and if so where should they be in the source folder heirarchy? Should the manifest.mf files for both Web apps include class-path entries for the log4j library, or only the manifest.mf file for the EAR? What are the right manifest.mf settings to use in the deployment profiles for the Web apps and the J2EE app?
For example, should the EAR deployment profile be configured to merge the manifest.mf files of the two Web apps? Is it necessary to make one of the Web apps dependent on the other Web app?
Thanks,
Al MargheimHi,
Thought I'd use the same subject, because it matches my problem. The questions are:
1. How do I get JDeveloper to use MANIFEST files properly? I'm using 9.0.3.1 and I have tried (un)checking different options in the EJB JAR/EAR deployment profile, but I never get the archive structure I want.
2. How do I include third-party JARs in the final EJB JAR/EAR? Any attempt I make to include a library JAR ( via Project Settings or by adding to the project) gives me an expanded set of classes contained in the JAR file, which is something I don't want.
Of course, I could easily achieve all that I want with Ant, and it will have to be outside JDev (using Ant within JDev prevents JDev from offering me its "full feature set"!). But I'd like to be able to do this while I'm still in the IDE (for what it's worth).
Any suggestions/recommendations/pointers are welcome.
regards
George -
How to edit 'uses-sdk' element in manifest settings
Hi,
I created an Android App that works perfectly on my HTC Inspire. It's just three buttons that link to web pages, a browser loads, very basic. I got it to install on 3 android devices, but it doesn't install on a Galaxy Tab and another unknown android device. Those devices get a Parse Error.
So I searched around and I found this possible solution from a few days ago:
http://www.droidforums.net/forum/rescue-squad-help/148308-error-while-installing-android-a pplication-problem-parsing-package.html
After hours of search, i found a little answer, actually it has every thing to do with the manifest, i changed the minSdkVersion="8" to minSdkVersion="7", and it worek on the first samsung mobile that i found, i have to check with other mobiles, but i think that is the solution!
I decided that I better figure out how to edit the Manifest, only to find that:
I found this bit of unsettling information in the Community Help files:
uses-sdk elementI see there is a checkbox to 'Manually manage premissions and manifest additions in the application descriptor file.' But i'm not sure if I can just add the line
You cannot include a uses-sdk element.
<uses-sdk android:minSdkVersion="7" />
Any work arounds?
Thanks in advance!
TekHi Pooja
You can find the text in <b>ResourceEditControl**.properties</b> file, which is available under <i>com.sap.km.cm.ui\lib\km.appl.ui.edit_api\com\sapportals\wcm\control\edit</i>..
The text is represented by the key <b>txtUploadControl</b>..
Regards,
Sandip -
Hi everyone,
I `m getting error message like this "Error occurred in deployment step 'Install app for SharePoint': There were errors when validating the App manifest.". when i try to debug the application with "Start Action"="Internet Explorer".This
application is an apps for office application with Oauth with Office 365
Any help in this regard is greatly appreciated
Thanks!!
Santosh SutarThanks Fei for your time.
>>>I would suggest that you create a new project and set it start action with 'Internet Explorer'
to see whether this issue could be reproduced. If no, we can compare the difference between the two menifest files.
As per your suggestion above ,With new project,I can debug with with start action "Internet Explorer" and I
could not see much difference between the manifest files.
Please find below my manifest file for the reference .
<?xml version="1.0" encoding="UTF-8"?>
<!--Created:cb85b80c-f585-40ff-8bfc-12ff4d0e34a9-->
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="TaskPaneApp">
<Id>084cd6cd-2908-44d1-a5cf-4fa029aec211</Id>
<Version>1.0.0.0</Version>
<ProviderName>[Provider name]</ProviderName>
<DefaultLocale>en-US</DefaultLocale>
<DisplayName DefaultValue="Office 365 MVC" />
<Description DefaultValue="Office 365 MVC"/>
<AppDomains>
<AppDomain>https://login.microsoftonline.com</AppDomain>
</AppDomains>
<Hosts>
<Host Name="Document" />
<Host Name="Workbook" />
</Hosts>
<DefaultSettings>
<SourceLocation DefaultValue="~remoteAppUrl/Home/Index/" />
</DefaultSettings>
<Permissions>ReadWriteDocument</Permissions>
</OfficeApp>
Please suggest on this.
Thanks !!
Santosh Sutar
Maybe you are looking for
-
HT4236 Syncing journals between iPhone 5 & iPad Mini using iPhoto
My journals on iPhoto using iPhone 5 will not sync with iPad mini
-
My pictures printed from Iphoto 5 are too dark, I have tried my home printer, kodak, and Fuji. The results are the identical. However, when I import the same pictures in Photoshop CS they print just fine. I am now having the Aperture 2.1.1 "trial" an
-
Mail.app pictures not recognised as attachments
Hi Guys, I'm having problems getting gmail recognising that the pictures I'm sending from Mail.app are attachments and not embedded in the body. I've dug and found that the problem comes from deactivating the InlineAttachmentViewing. So: - if I send
-
Reversal of cash flow in forward transaction
I have cretaed Forward contract and posted the entries also. But i want to reverse one of the entry. Please help me on reversal of the same
-
How can CEP work with IBM MQ?
Hi, Our customer is using MQ. How can we make the JMS adapter work with it? Thanks,