Problem of configuration the requirement output control ?
Hi ,
i am now in a very urgent situation that is the system does not create the message type after executing the transaction VL31N.
In detail :
I have used the transaction NACE to configure the "Requirements output control" and i have created 3 message type (Z1 , Z2, Z3) ( type V6 : handling unit) and i have coded for each of them to check the requirements for creating the messsage type ( the message type will be created if the sy=subrc = 0 after the forms are executed.
FORM KOBEV_Z1.
Check condition from the structure komkbv6
if cond Ok
sy-subrc = 0.
endif.
ENDFORM KOBEV_Z1.
FORM KOBEV_Z2.
Check condition from the structure komkbv6
if cond Ok
sy-subrc = 0.
endif.
ENDFORM KOBEV_Z2.
FORM KOBEV_Z3.
Check condition from the structure komkbv6
if cond Ok
sy-subrc = 0.
endif.
ENDFORM KOBEV_Z3.
But in fact , even if i have put the sy-subrc = 0 for each of them or for all , the message type was not created as i need .
Result :
if the message type is created automatically after executing the KOBEV or KOBEV , a printing program will be called to print the SAPscript form , but till now , i can not do that , to print the form i have to created the message type by hand ..
Is the something wrong in the system ? How can i configure them to run well ?
Please help me .
PS : I will reward immediately and i am waiting
Thank you very much
Hi,
If you are supposed to bring across characteristic values to your target, then you will not be able to jump from the result line. The configuration expects that the values of the characteristic marked as being used in the jump are filled with unique values. When you use the result line as a source for your jump, the values in the result line will most likely be based on the sum of multiple characteristic values.
Hth,
-Jacob
Similar Messages
-
How to configure the requirements for output control ?
Hi ,
I have some problems in configuring the requirements for output control like following :
My aim is to make a condition check when i create an inbound delivery ( VL31N) or MIGO ...., as default in the requirement check for output , a message type will be created automatically if the it satisfies the condition in the KOBEV .....KOBEV( each sub routine was defined with a message type ( V6 ) ( if sy-subrc = 0) . And then a printing program will be triggered to print the SAPscripts form in the table "tnapr" but even if i have put sy-subrc in ( KOBEV...KOBEV ) always = 0 the printing was not executed , and in this case i do not understand the reason why , If you please to help me this .
Thanks ,Hi,
it seems that the requirement you made is not the reason why it's not printed. If you set sy-subrc to 0, this code should have no effect.
Cheers,
Stefan. -
Problem in Configuring the Object Editor User Interface
Hi,
I m using NetWeaver 7.0.11 & facing the problem in Configuring the Object Editor User Interface.In the Configuration Browser ,when i click on Object Editor & choose New Configuration & try to select service,it shows the flollowing error:
com.sap.caf.rt.exception.CAFBaseRuntimeException: Service manager initialization failed Illegal argument exception: Unable to create javax.ejb.EJBObject.
at com.sap.caf.rt.ui.cool.generic.ServiceFacade.init(ServiceFacade.java:121)
at com.sap.caf.rt.ui.cool.generic.ServiceFacade.<init>(ServiceFacade.java:50)
at com.sap.caf.rt.ui.cool.generic.ServiceFacadeFactory.getFacadeInstance(ServiceFacadeFactory.java:51)
at com.sap.caf.ui.utils.cool.CoolUtils.getServiceFacade(CoolUtils.java:123)
at com.sap.caf.ui.ptn.objecteditor.ObjectEditorCC.getServiceFacade(ObjectEditorCC.java:505)
at com.sap.caf.ui.ptn.objecteditor.wdp.InternalObjectEditorCC.getServiceFacade(InternalObjectEditorCC.java:245)
at com.sap.caf.ui.ptn.objecteditor.config.OEconfiguratorLayout.onActionSelectModule(OEconfiguratorLayout.java:322)
at com.sap.caf.ui.ptn.objecteditor.config.wdp.InternalOEconfiguratorLayout.wdInvokeEventHandler(InternalOEconfiguratorLayout.java:300)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132)
at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:759)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:712)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:261)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Can anybody please tell,what can be the problem?
regards
SumitHello Sumit
This is most probably the result of metadata corruption on runtime.
A possible workaround for this situation is:
Undeploy all the metadata DCs of all the CAF applications you have
deployed (these are the components which names end on "/metadata", excl.
caf/core/metadata and caf/tc/metadata (which are part of CAF itself)).
And then deploy the CAF applications again.
Regards,
Désiré -
How to reterive the required output
i want to extract data from two different tables and to create a single table.
first table is gc1
idx suburb_form
1 ALBANY
2 PERTH
3 ALBANY CBD
4 PERTH CBD
SECOND TABLE IS CITIES
ALBANY
PERTH
I WANT TO CREATE A TABLE WHICH SHOULD CONTAIN ALL RECORDS FROM THE GC1 TABLE
I HAVE WRITTEN QUERY LIKE THIS BUT IT DOES NOT WORK.
CREATE TABLE TEMP AS SELECT IDX, SUBURB_foRm FROM GC1 A
WHERE exists(select NULL from POI.SH_POI_SMALL_CITIES C where upper(trim(A.SUBURB_FORM))=C.CITY OR RTRIM(A.SUBURB_FORM,' CBD')) =C.CITY)
PLEASE CAN ANYBODY HELP ME IN ORDER TO GET THE REQUIRED OUTPUT.
tHANKSCONTAIN ALL RECORDS FROM THE GC1 TABLEIn these case, wouldnt just selecting GC1 be sufficient?
CREATE TABLE TEMP AS SELECT IDX, SUBURB_foRm FROM GC1 A -
VOFM(Requirements Output Control)
Hi all,
We have custom output type configured which has to be displayed alone when a invoice is created for particular customer....All this part is done...but now i need to create a form routine and a requirement which wud be assigned to this output type which would display only this output type(Zxyz) say and should'nt display other standard output types like RD01 and other output types in the invoice outptut messages.....
How to create a routine is my first question for output control.
How to right a code in the routine which wud have only ZXYZ output type in the output message for particular Invoices.....Hi,
Create a routine and assign the VOFM routine to all the other output types in the procedure except for the new one..
You can create the routine in the transaction VOFM..
In the VOFM routine have this logic.
If KOMKBV3-kunag = 'my specific customer'.
sy-subrc = 4.
ELSE.
sy-subrc = 0.
ENDIF.
Hope this helps..
Thanks
Naren -
How to fetch the data from databse table and get the required output
Hi,
I have made a project that connects CEP to database table but i m getting some problem in fetching the data from database.
From the following code :
If the where condition is removed then the application runs fine but i am still not able to fetch the data from the table because it is not showing any output.
Can anyone please suggest me that how to write WHERE statement correctly and how i will be able to see the output.
Following is the config.xml for processor:
======================================
<?xml version="1.0" encoding="UTF-8"?>
<wlevs:config xmlns:wlevs="http://www.bea.com/ns/wlevs/config/application"
xmlns:jdbc="http://www.oracle.com/ns/ocep/config/jdbc">
<processor>
<name>JDBC_Processor</name>
<rules>
<query id="q1"><![CDATA[
SELECT STOCK.SYMBOL as symbol, STOCK.EXCHANGE as exchange
FROM ExchangeStream [Now] as datastream, STOCK
WHERE datastream.SYMBOL = datastream.SYMBOL ]]></query>
</rules>
</processor>
<jms-adapter>
<name>JMS_IN_Adapter</name>
<jndi-provider-url>t3://CHDSEZ135400D:7001</jndi-provider-url>
<destination-jndi-name>jms.TestKanikaQueue</destination-jndi-name>
<user>weblogic</user>
<password>welcome1</password>
</jms-adapter>
</wlevs:config>
Following is the assembly file:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:osgi="http://www.springframework.org/schema/osgi"
xmlns:wlevs="http://www.bea.com/ns/wlevs/spring" xmlns:jdbc="http://www.oracle.com/ns/ocep/jdbc"
xmlns:spatial="http://www.oracle.com/ns/ocep/spatial"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd
http://www.bea.com/ns/wlevs/spring
http://www.bea.com/ns/wlevs/spring/spring-wlevs-v11_1_1_3.xsd
http://www.oracle.com/ns/ocep/jdbc
http://www.oracle.com/ns/ocep/jdbc/ocep-jdbc.xsd
http://www.oracle.com/ns/ocep/spatial
http://www.oracle.com/ns/ocep/spatial/ocep-spatial.xsd">
<wlevs:event-type-repository>
<wlevs:event-type type-name="StockEvent">
<wlevs:properties>
<wlevs:property name="SYMBOL" type="byte[]" length="16" />
<wlevs:property name="EXCHANGE" type="byte[]" length="16" />
</wlevs:properties>
</wlevs:event-type>
<wlevs:event-type type-name="ExchangeEvent">
<wlevs:class>com.bea.wlevs.event.example.JDBC_CEP.ExchangeEvent</wlevs:class>
</wlevs:event-type>
<wlevs:event-type type-name="StockExchangeEvent">
<wlevs:properties>
<wlevs:property name="symbol" type="byte[]" length="16" />
<wlevs:property name="price" type="byte[]" length="16" />
<wlevs:property name="exchange" type="byte[]" length="16" />
</wlevs:properties>
</wlevs:event-type>
</wlevs:event-type-repository>
<bean id="readConverter" class="com.bea.wlevs.adapter.example.JDBC_CEP.Adapter_JDBC" />
<bean id="outputJDBCBean" class="com.bea.wlevs.bean.example.JDBC_CEP.OutputBean_JDBC">
</bean>
<wlevs:adapter id="JMS_IN_Adapter" provider="jms-inbound">
<wlevs:listener ref="ExchangeStream" />
<wlevs:instance-property name="converterBean"
ref="readConverter" />
</wlevs:adapter>
<wlevs:processor id="JDBC_Processor" advertise="true">
<wlevs:listener ref="OutputChannel" />
<wlevs:table-source ref="STOCK" />
</wlevs:processor>
<wlevs:channel id="ExchangeStream" event-type="ExchangeEvent" advertise="true">
<wlevs:listener ref="JDBC_Processor" />
</wlevs:channel>
<wlevs:channel id="OutputChannel" event-type="StockExchangeEvent"
advertise="true">
<wlevs:listener ref="outputJDBCBean" />
</wlevs:channel>
<wlevs:table id="STOCK" event-type="StockEvent"
data-source="StockDs" table-name="STOCK" />
<wlevs:table id="STOCK_EXCHANGE" event-type="StockExchangeEvent"
data-source="StockDs" table-name="STOCK_EXCHANGE" />
</beans>
ExchangeEvent.java:
package com.bea.wlevs.event.example.JDBC_CEP;
public class ExchangeEvent {
public String SYMBOL;
public String symbol;
public String exchange;
public ExchangeEvent() {
public String getSYMBOL() {
return SYMBOL;
public void setSYMBOL(String sYMBOL) {
SYMBOL = sYMBOL;
public String getSymbol() {
return symbol;
public void setSymbol(String symbol) {
this.symbol = symbol;
public String getExchange() {
return exchange;
public void setExchange(String price) {
this.exchange = price;
Adapter Class:
package com.bea.wlevs.adapter.example.JDBC_CEP;
import com.bea.wlevs.adapter.example.JDBC_CEP.MyLogger;
import com.bea.wlevs.adapters.jms.api.InboundMessageConverter;
import java.text.DateFormat;
import java.util.Date;
import com.bea.wlevs.adapters.jms.api.MessageConverterException;
import com.bea.wlevs.event.example.JDBC_CEP.ExchangeEvent;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.TextMessage;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class Adapter_JDBC implements InboundMessageConverter{
@SuppressWarnings("unchecked")
public List convert(Message message) throws MessageConverterException, JMSException {
Random rand = new Random();
int unique_id = rand.nextInt();
DateFormat dateFormat;
dateFormat = DateFormat.getTimeInstance();
dateFormat.format(new Date());
MyLogger.info(unique_id + " CEP Start Time is: " + dateFormat.format(new Date()));
System.out.println("Message from the Queue is :"+ message);
TextMessage textMessage = (TextMessage) message;
String stringMessage = textMessage.getText().toString();
System.out.println("Message after getting converted into String is :"+ stringMessage);
String[] results = stringMessage.split(",\\s*"); // split on commas
ExchangeEvent event1 = new ExchangeEvent();
event1.setSYMBOL(results[0]);
List events = new ArrayList(2);
events.add(event1);
return events;
Output Bean Class :
package com.bea.wlevs.bean.example.JDBC_CEP;
import com.bea.wlevs.ede.api.StreamSink;
import com.bea.wlevs.event.example.JDBC_CEP.ExchangeEvent;
import com.bea.core.datasource.DataSourceService;
public class OutputBean_JDBC implements StreamSink{
public void onInsertEvent(Object event) {
if (event instanceof ExchangeEvent) {
ExchangeEvent cacheEvent = (ExchangeEvent) event;
System.out.println("Symbol is: " + cacheEvent.getSymbol());
System.out.println("Exchange is: " + cacheEvent.getExchange());
System.out.println(DataSourceService.class.getClass());
Kindly let me know if you need further info.Do you have StockDs configured in your server config.xml?
I think the query should look more like this:
SELECT stocks.SYMBOL, stocks.EXCHANGE
FROM STOCK as stocks, ExchangeStream [Now] as datastream WHERE stocks.SYMBOL = datastream.SYMBOL
Thanks
andy -
Problem while downloading the alv output to excel file.
Hii,
While downloading the alv output to an excel file i am facing a problem. Either the output comes as 1.23456E+11 or the values get cut .
Cant put in txt file as the users require to calculate directy and i have even tried to increase the output length .But both doesnt help.
So what are the other ways to do so.
Edited by: mansi_v27 on Mar 24, 2010 12:35 PMHi,
Welcome to SCN!!!.
Please go through the forum rules. This has been discussed many times. You can search in the forum for this.
Infact there is no problem. Just expand that excel cell. You can see the full value. This is standard excel property.
Thanks,
Vinod. -
Problem regarding Configuring the File Adapter
Hi,
I am making a Flat File to XML File Scenario. I have made all the Necessary developments and the Routings in the Integration Repository and the Integration Directory. The Sender Communication Channel Uses the Message Protocol "File Content Conversion". All the required steps have been done. We have installed the System and also the Basis Team has done the Post Installation Activities.
<b> The Problem is that the "File is not getting picked up". When checking the RWB and henceforth the Adapter Monitoring we see that the File Adapter is disabled and the XI and the BC adapters are green. Previously we were on SP9 and now we are on SP14. The SAP Basis is at 640 and SP9 and the SAP ABAB is on 640 and SP9.</b>
We are also unavailable to see the File Communication Channels that we have created. When the Tcode "sxi_cache is run it is giving an error that Cache not refreshed andon refreshing various times too the Cache is not Refreshed.
Please Suggest us what we should do. Eagerly waiting for a reply and Thanking in Anticipation. Do we need to make some for configurations for that.
Warm Regards
Chakra and SomnathHi Somnath,
If the sender file adapter is up and running and even after that if you find some problem, the first thing you need to do is check if your file has been picked. The easiest way to check the same is to set the mode to DELETE, that is the file gets deleted as soon as it is picked. If your file has not been picked then the reasons for the same could be the following.
- The path that you specified while configuring the sender communication channel would have been wrong.
- While specifying the file name take care as it is case sensitive.
- If you require content conversion then make sure that the parameters entered at the time of configuration are all correct.
Please go thru the following links to get a very clear picture of your requirement.
http://help.sap.com/saphelp_nw04/helpdata/en/e3/94007075cae04f930cc4c034e411e1/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/44/6c9442c22d1131e10000000a1550b0/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/8c/607fe4756b654ab9f420097c29f6e9/frameset.htm
Also make sure that your content conversion is in sequence wrt Datat Type Sturcture.
Go through these blogs below for more detail on the same:
/people/sap.user72/blog/2005/01/06/how-to-process-csv-data-with-xi-file-adapter
/people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem
I hope this would help you solve your problem.
Regards,
abhy
Message was edited by: Abhy Thomas -
Can We Configure the iOS 7 Control Center?
Is there a way to individually configure the Control Center?
I added the suggestion below to www.apple.com/feedback, but should have asked first.
Subject: Add Cellular Data & Location Buttons to iOS 7 Control Center
We often have days when we don't have the opportunity to recharge our iPhones adequately. At such times conserving battery power is paramount. However, the buttons for Cellular Data and Location require several steps each to turn on and off.
Please add buttons for Cellular Data and Location to the Control Center so they can be accessed easily to better conserve battery power.No, it is a core component of iOS and not user configurable, with one exception. On the iPad, under general settings, there is the option of what to use the side switch for - mute, or lock rotation. Changing that will change the corresponding (right-most) button in NC. However, that does not apply to an iPhone anyway.
BTW, just us fellow users here, so submitting this via the Apple feedback link was the right way to actually get the idea seen by Apple. -
Howto Debug Requirements Output control routine?
Hi!
I want to do the following: I got an Invoice and I want to print an invoice form so I created a message (KSCHL) that shall be found under certain circumstances.
It looks like that:
FORM KOBED_663.
BREAK-POINT id Y_KOBE_663. "Transaction SAAB
* infinite loop - trick for debugging
data lv_infinite type c.
lv_infinite = 'X'.
while lv_infinite = 'X' .
* infinite loop
endwhile.
*Check requirement 662 first
PERFORM kobed_662.
IF sy-subrc = 0. "if requirement 662 is fulfilled
* do some more checking...
DATA lv_ktokd TYPE ktokd.
CLEAR lv_ktokd.
SELECT SINGLE ktokd FROM kna1 INTO lv_ktokd WHERE kunnr = komkbv3-kunrg.
IF lv_ktokd <> '0003'.
sy-subrc = 4. "requirement not fullfilled... dont find the message!
ENDIF.
ENDIF.
ENDFORM.
FORM KOBEV_663.
Now I got a invoice with no messages within it and I try to debug it because I get my new Print out even in cases I should not because requirement 663 is not fullfilled.
I made a checkpoint with transaction SAAB, I made an infinite Loop to debug with SM50 and of course I had variours and numerous breakpoints all over and everywhere. But I never stopped within KOBEV_663. Of course I got also the KOBED_663 with identical code and identical "debug"-stuff.
When I try with my invoice and VF02 going to the messages then my message is found but I did not stop in the kobev_663.
Question: What do I have to do to debug this? it lookes like the rule is not even checked at all. But in customizing the rule is there (and active of course).
I also tried logging kompletely off with /NEX and I even cleared all buffers with /$sync (its not the prod. system of course).
Please help me, I have no further idea.
ManfredHi!
First of all: thanks for your great Help! I tried all of your hints and thats the result (maybe someone with my problem comes across this thread).
@Naimesh Patel: My problem was that the message was found and I wanted to debug the requirement because I was sure, that the message not even should have been found because of not matching the requirement. I did not want to debug the process that creates the message like the print program... but in one point your Post was vital for me: RV80HGEN was missing.
@Uwe Schieferstein: Unfortunately I dont have LOG-POINTS... maybe my release is too old... I have only 640 here. The Link you posted is of course very interesting! Thanks for that.
@Rohan Leonce D'souza: Setting--> Update debugging... that was necessary! With that in combination of the RV80HGEN I think it stopped even at my Break-Point ID... to be secure I had your idea with the break USER in addition within the code.
Now I have the pain to grant forum points... I cant split them unfortunately. Only the combination of several Posts was my solution. But Thanks to all of you!
Edited by: ManfredScherer on Jan 22, 2010 8:54 AM - solved - -
Where to configure the auto output generation upon goods receipt
Dear all,
I need to configure the auto generate of the output message upon the goods receipt. How do I do that?
Thanks for advice.
Regards,
EdwinHi friend
Apart from Maintaining condition record as suggested in previous thread one more important activity is
In Migo screen on Header data section inside generaltab
just below Posting date feild you will find Printer Icon right hand side to that there is one check box, this must be checked either manually at the time of GR/GI creation or is preselected if the parameter NDR has been set to X (capital letter!) in your user master recordset. This is preselected if the parameter NDR has been set to X (capital letter!) in your user master record
Reward if usefull
Regards
SE -
Problem in configuring the HTTPS
hi all,
I am facing the problem in configuring HTTPS.I have fallowed the procedure given in the tomcat documentation.I am working with Tomcat 5.0.I have created my own certificate and it was stored in the home directory.
The problem i am facing was when configuring the tomcat's Server.xml file.I have removed the comments and the port number was 8443, which was in the xml tag.But when entering https://localhost:8443/ it was not giving the opening page instead it was giving the "page cannot displayed".
Can anybody please tell me the mistake i have did in configuring the server to HTTPs.Also please tell me the way to configure my IIS.
Thanks in advance
lakshmanhi all,
I did the configuration for the HTTPS in Tomcat.The page was opening and i have did the fallowing modification in the previous connector tag.
I have added the keyStoreFile which provides the Filepath of the .keyStore file.
Now the Https in Tomcat was working fine.
Thanks for your help and advice
lakshman -
Problem in sending the Smartform Output as PDF through Mail
Dear All,
I am sending the Smartform Output as an attachment by converting it into PDF. But when I am recieve this attachment I am unable to open the PDF file, it is giving error that FILE IS DAMAGED. Below is the code:
REPORT Y_SEND_MAIL2.
TABLES: vbrk, vbrp.
TYPE-POOLS: abap.
DATA: it_vbrk TYPE TABLE OF vbrk WITH HEADER LINE.
DATA: i_formname TYPE tdsfname,
i_fm_name TYPE rs38l_fnam,
it_vbak TYPE TABLE OF vbak WITH HEADER LINE,
it_ekko TYPE TABLE OF ekko WITH HEADER LINE.
DATA: is_bil_invoice TYPE lbbil_invoice,
output_options TYPE ssfcompop,
control_parameters TYPE ssfctrlop,
e_devtype TYPE rspoptype,
job_output_info TYPE ssfcrescl,
bin_file TYPE xstring,
lines TYPE TABLE OF tline WITH HEADER LINE,
doctab_archive TYPE TABLE OF docs WITH HEADER LINE,
filelength TYPE i,
bin_filesize TYPE i,
docs TYPE TABLE OF docs WITH HEADER LINE.
*"Types
TYPES: t_document_data TYPE sodocchgi1,
t_packing_list TYPE sopcklsti1,
t_attachment TYPE solisti1,
t_body_msg TYPE solisti1,
t_receivers TYPE somlreci1,
t_pdf TYPE tline.
*"Workareas
DATA :w_document_data TYPE t_document_data,
w_packing_list TYPE t_packing_list,
w_attachment TYPE t_attachment,
w_body_msg TYPE t_body_msg,
w_receivers TYPE t_receivers,
w_pdf TYPE t_pdf.
*internal tables
DATA : i_document_data TYPE STANDARD TABLE OF t_document_data,
i_packing_list TYPE STANDARD TABLE OF t_packing_list,
i_attachment TYPE STANDARD TABLE OF t_attachment,
i_body_msg TYPE STANDARD TABLE OF t_body_msg,
i_receivers TYPE STANDARD TABLE OF t_receivers,
i_pdf TYPE STANDARD TABLE OF t_pdf.
DATA: BEGIN OF line_bin,
data(1024) TYPE x,
END OF line_bin.
DATA: data_tab_bin LIKE STANDARD TABLE OF line_bin.
So please suggest a solution.
Regards,
VishalContinued:
SELECT-OPTIONS: s_vbeln FOR vbrk-vbeln,
s_fkdat FOR vbrk-fkdat OBLIGATORY DEFAULT sy-datum.
SELECT * FROM vbrk
INTO TABLE it_vbrk
WHERE fkdat IN s_fkdat
AND vbeln IN s_vbeln.
i_formname = 'Z_SD_JINDAL_INVOICE10'.
output_options-tddest = 'LP02'.
output_options-tdimmed = 'X'.
output_options-tdnewid = 'X'.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = i_formname
IMPORTING
fm_name = i_fm_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0. "checking subrc
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. "IF sy-subrc <> 0
READ TABLE it_vbrk INDEX 1.
IF sy-subrc = 0.
is_bil_invoice-hd_gen-bil_number = it_vbrk-vbeln.
ENDIF.
control_parameters-no_dialog = 'X'.
control_parameters-getotf = 'X'.
CALL FUNCTION i_fm_name "'/1BCDWB/SF00000097'
EXPORTING
control_parameters = control_parameters
output_options = output_options
user_settings = space
is_bil_invoice = is_bil_invoice
IMPORTING
job_output_info = job_output_info
TABLES
it_vbak = it_vbak
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*FORM convert_otf_2_pdf.
CALL FUNCTION 'CONVERT_OTF_2_PDF'
* EXPORTING
* USE_OTF_MC_CMD = 'X'
* ARCHIVE_INDEX =
IMPORTING
bin_filesize = bin_filesize
TABLES
otf = job_output_info-otfdata[]
doctab_archive = docs[]
lines = lines[]
EXCEPTIONS
err_conv_not_possible = 1
err_otf_mc_noendmarker = 2
OTHERS = 3.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*ENDFORM. "convert_otf_2_pdf -
Problem when configuring the ocsf2
Hi,
Linux version : RHEL4
I am getting the following error when trying to configuring the ocsf2 when selecting configure nodes.
couldn't start cluster stack.This must be resolved before any ocfs2 file system must be mounted.This is my primary
*.background_dump_dest='/u01/u06/bdump'
*.compatible='10.1.0.2.0'
*.control_files='/u01/u06/ctrl01.ctl'
*.core_dump_dest='/u01/u06/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl4'
*.instance_name='orcl4'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orcl2XDB)'
*.job_queue_processes=10
*.log_archive_dest_1='LOCATION=/u01/u06/arch'
*.log_archive_dest_2='SERVICE=orcl5 reopen=60'
*.log_archive_format='%t_%s_%r.dbf'
*.open_cursors=300
*.pga_aggregate_target=200278016
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=601882624
.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/u06/udump'
#*.standby_archive_dest=/u01/u05/arch
#*.standby_file_management=manual
*.lock_name_space=orcl4
standby
#########3
*.background_dump_dest='/u01/u03/bdump'
*.compatible='10.1.0.2.0'
*.control_files='/u01/u03/stdbyctrl.ctl'
*.core_dump_dest='/u01/u03/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl4'
*.instance_name='orcl5'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orcl2XDB)'
*.job_queue_processes=10
*.log_archive_dest=/u01/u03/arch
*.log_archive_format='%t_%s_%r.dbf'
*.open_cursors=300
*.pga_aggregate_target=200278016
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=601882624
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/u03/udump'
*.standby_archive_dest=/u01/u03/arch
*.standby_file_management=manual
*.lock_name_space=orcl5 -
Problem while configuring the Apache Web Server as the Intermediary Server
Hello,
I want to use Apache 2.0 web-server as a proxy for my SAP EP so that I could access http://portal_server:50000/irj through this Apache external web-server.
I checked this sap help link as a reference.
http://help.sap.com/saphelp_nw04/helpdata/en/18/5cea2296190e4cb7faf9468ad793ea/frameset.htm
But still not clear what exact configuration I need to do in the httpd.conf file. I searched the posted forums on this topic but couldnt get exact steps.
It would be grateful if anyone can guide me on this configuration (redirecting url etc).
Thanks in advance.
-MandarSTEPS OF SECURE APACHE-SSL
1.Install apache version like apache_x_y_z_win32.exe also select the right combination of mod_ssl and Openssl.
(Like for apache1.3.33 you need mod_ssl_2.8.22 and Openssl_0.9.7f or Openssl_0.9.7g.
Or
Select a mix of all three like [Apache_1.3.33-Mod_SSL_2.8.22-Openssl_0.9.7f-Win32.zip]
(for this install apache service also).
2. Select httpd.conf file from (apache\conf) open it for configuration.
3. Stop the services of apache from Control panel \ administrative tools \ services.
Note:-- may be it is possible all files for configuration will not be there in apache2.exe then extract the
Apache_2.0.54-Mod_SSL_2.8.22-Openssl_0.9.7f-Win32.zip file and copy conf,lib,modules logs
files in corresponding folder of Apache2.exe.
HTTPD.CONF Configuration
1. Replace all occurrences of www.my-server.dom with the real domain name!
(If you have installed apache from .exe file then its doesnt required but for . Zip archive file you have to replace it)
2. Comment port 80 like # port 80
3. Write Listen 80 and Listen 443 in httpd.conf file.
4. Extract Openssl in any folder and copy files ssleay32.dll and libeay32.dll into WINNT\SYSTEM32 paste them here.
5. Download Openssl.cnf file because you need to configure openssl.exe. a link apear select saveas and save it to bin folder of apache2 directory
6. Copy all the *.exe, *.so, *.dll inside your apache\bin directory from extracted Openssl directory.
7. Write
LoadModule ssl_module modules/ApacheModuleSSL.dll
or
LoadModule ssl_module modules/ApacheModuleSSL.so
or
LoadModule ssl_module modules/mod_ssl.so
after the LoadModule lines that are already in the httpd.config file
8. Write AddModule mod_ssl.c this for apache1 for apache2 it is noy required.
after the AddModule lines that are already in the httpd.config file.
9. Add the following to the end of httpd.conf:
SSLMutex sem
SSLRandomSeed startup builtin
SSLSessionCache none
SSLLog logs/SSL.log
SSLLogLevel info
SSLEngine On
SSLCertificateFile conf/ssl/my-server.cert
SSLCertificateKeyFile conf/ssl/my-server.key
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://ServerName:50000/ // your server name and port number
ProxyPassReverse / http://ServerName:50000/ // your server name and port number
ProxyPreserveHost On
save the Httpd.conf file
GENERATING CERTIFICATE
a. Open Command Prompt
b. Reach till bin directory by writing like cd apache\bin
c. Write command bin> openssl req -config openssl.cnf -new -out my-server.csr and put required detail.
d. Write openssl rsa -in privkey.pem -out my-server.key.
e. Write openssl x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 365.
f. Write openssl x509 -in my-server.cert -out my-server.der.crt -outform DER.
g. Create an Apache/conf/ssl directory and move my-server.key and my-server.cert into it.
10. Start Apache services from control panel \ Administrative tools \ services.
11. Now you have made Apache as SSL enabled open browser and test it by https://localhost
Maybe you are looking for
-
Automatic failover doesn't failback to the first server if the second server is lost.
Hi Everybody, We use the database mirroring a lot in our product solutions and we have recently experienced a strange behaviour in our failover tests with SQL2008R2. We have 2 servers running Windows 2008 R2 standard and SQL 2008 R2 standard SP2.
-
How to write select statement in XSL-FO type XML program
Hi All, Could you please anyone explain briefly how to write select statement in XSL-FO XML Program. Requirement: In the seeded program, OAF page is creating one XML file and through XSL-FO type XML Pulisher loading data and generating PDF output. as
-
File deleted but no instance created
Hi, I have created a process using a file adpter to read files and a FTP adapter to put the file. File adpeter is configured to delete the files after reading. The process deletes the files after reading. However, there is no instance created for the
-
Code bug help for a beginner!!
Ok, I've written this code so far. Everything was fine until I got to the IF condition. When I try compiling it it tells me that the 'a' variable in the IF condition expression may not have been initialised, which I don't really understand as it's be
-
I have what I believe to be a unique application where I need to draw a line on a graph which can be moved by simply clicking in predefined boxes attached to the line. Boxes above and below the line in the upper right and lower left will be used to r