ABAP program missing in development system
Hi,
An ABAP Program is missing in development system. But is available in Quality and production system.
Not sure if it is deleted from development system. Can anyone please tell me what are the ways to find the missing/deleted program. How to find if it is missing or deleted?
Thank you.
Hi,
If it is developed and deleted then you can create the report with the same name which you looking for.
Then from the Version Management you get the latest version which was transported from the Development.
Even after deleting the report from the development the versions are still exits in the system. If you have create the report with same name then you find the version in the version management then it is deleted in the development.
Similar Messages
-
ABAP program created in one system want to trigger from other system
Hello,
I have created ABAP program in ECC server internally it is using function module to update table.This ABAP program has 2 variants.
I wnat to trigger this ABAP program from BW . How to idenfied an abap program which is return in system1 into other system2.So that it can be executed from BI.
Thanks.There are ways to do this.
Create an RFC in R/3 system (Tcode: se37 or read forums for sample). Create an event in sm62 (choose customer event) - then schedule your R/3 program (with whatever variant you want) in R/3 to trigger it when the event raised.
Within the RFC (R/3), you need to trigger the event -
Raise event to execute background jobs running under this event id
w_eventid type btceventid value 'ZCUSTOMEVENT'.
call function 'BP_EVENT_RAISE'
exporting
eventid = w_eventid
exceptions
bad_eventid = 1
eventid_does_not_exist = 2
eventid_missing = 3
raise_failed = 4
others = 5.
if sy-subrc <> 0.
endif.
in BW - Create a program - Call the RFC (created in R/3). You can even add this to your process chains.
CALL FUNCTION 'Z_RFC_IN_R3'
DESTINATION p_dest
IMPORTING
XYZ = XYZ
TABLES
IT_X = IT_X
p_dest being your R3 destination (this is RFC maintained in sm59 for your R3 client)....
Good luck. Quite a bit of work but works perfect. -
ABAP GUI from HANA Developer Studio
Hi,
I am facing this issue when stating ABAP GUI / execute any abap program in HANA developer Studio. Any solution for this?
Failed to create the Parts Controls:
java.lang.IllegalStateException: Could not start SAP GUI for Windows: C:/Program Files (x86)/SAP/FrontEnd/sapgui/\SapGuiServer
at com.sap.adt.sapgui.ui.internal.win32.embedding.WinGuiServerProxy$SapGuiServerProcess.start(WinGuiServerProxy.java:593)
at com.sap.adt.sapgui.ui.internal.win32.embedding.WinGuiServerProxy.startGuiServerProcess(WinGuiServerProxy.java:156)
at com.sap.adt.sapgui.ui.internal.win32.WinGuiFragment.getGuiServerProxy(WinGuiFragment.java:86)
at com.sap.adt.sapgui.ui.internal.win32.embedding.EmbeddedWinGuiEditor.createEmbeddedGuiContent(EmbeddedWinGuiEditor.java:85)
at com.sap.adt.sapgui.ui.internal.views.AbstractSapGuiWorkbenchPart.createPartControl(AbstractSapGuiWorkbenchPart.java:121)
at com.sap.adt.sapgui.ui.internal.editors.AbstractSapGuiEditor.createPartControl(AbstractSapGuiEditor.java:149)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:142)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:96)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:323)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:877)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:857)
at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:119)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:333)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:254)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:102)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:71)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:53)
at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:129)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:949)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:633)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:735)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:706)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:700)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:685)
at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1147)
at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer$1.handleEvent(LazyStackRenderer.java:65)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:41)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4688)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:205)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:80)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:58)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:171)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:576)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:543)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:619)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:331)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1046)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3112)
at org.eclipse.ui.internal.WorkbenchPage.access$21(WorkbenchPage.java:3034)
at org.eclipse.ui.internal.WorkbenchPage$8.run(WorkbenchPage.java:3016)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3012)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2976)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2959)
at com.sap.adt.sapgui.ui.SapGuiPlugin.openGuiEditor(SapGuiPlugin.java:180)
at com.sap.adt.sapgui.ui.SapGuiPlugin.openEditorAndStartTransaction(SapGuiPlugin.java:122)
at com.sap.adt.sapgui.ui.internal.handlers.OpenSapGuiHandler.openView(OpenSapGuiHandler.java:45)
at com.sap.adt.sapgui.ui.internal.handlers.OpenSapGuiHandler.execute(OpenSapGuiHandler.java:39)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:290)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:243)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:224)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:167)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:850)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:743)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$7(HandledContributionItem.java:727)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:662)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
Caused by: java.io.IOException: Cannot run program "C:/Program Files (x86)/SAP/FrontEnd/sapgui/\SapGuiServer": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1042)
at com.sap.adt.sapgui.ui.internal.win32.embedding.WinGuiServerProxy$SapGuiServerProcess.start(WinGuiServerProxy.java:590)
... 110 more
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:288)
at java.lang.ProcessImpl.start(ProcessImpl.java:133)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1023)
... 111 more
My HANA developer studio is not at C:\ProgramFiles(x86) folder.This problem is resolved - i updated my SAPGUI.
-
Transport of ABAP Programs via File
Hello,
I want to transport an ABAP-Program into my training-system at home (SneakPreview 2004s).
Because there is no connection between the systems, I search for a solution via filesystem.
Thanks
ArminHello Armin,
The approach for downloading to a notepad maynot be very be useful The report will have includes,function modules etc... Also it will have screens which you cannot download on notepad!!
So do one thing. Include the report with all its components : includes,screens etc..in a transport request. Do it though SE80 transaction. Once done release the transport request. This will result in creation of data file and co file.
Now at OS level you can get these files and then you can copy them on CD/DVD. Put these files i the respective folders of your target system and import the transport.
If this is Z report and has a Z development class/message class I would suggest including it also in the transports. Development class/message class availability before the report import happens is a must. So include every thing in the transport and use data files and co-files.
Please award points for useful answers.
Regards.
Ruchit. -
How to Delete an ABAP Program?
Hi
How to delete an ABAP program that is in the SAP Production Server using a Transport Request. Why I am asking this is I want to maintain consistency between the Production & Development Box and I dont want to open the Production Box just to delete the ABAP Program. Once the ABAP Program in the Development Box is Deleted a Transport Request should be made when Transported to the Production it should delete the ABAP program in the Production Box.
Thanks,
KishanOfcourse this is possible and Kishan is on the right path. In the request , in the objects list you will see a column "Function". This will be set to "D" ( delete ) when you delete a program. With the help of this field only the transport system knows what to do in the target system . This field is set automatically with correct value when you delete or change an object . Do an F1 help on this field for more details on other values.
Cheers. -
Hi Everyone,
I need your help.
I am working on a tool that can backup the ABAP source codes and tables.
I am using the READ REPORT to get the source code and store the result in a text file,
my question is, if I want to give this tool to a client , what kind of authorization a user need to be able
to run the tool and backup all the ABAP programs of the SAP system ?
Can any ABAP developer use the "READ REPORT" and read the source code written by
other ABAP developer ?
ThanksREPORT zdownload.
TABLES: trdir.
SELECT-OPTIONS name FOR trdir-name NO INTERVALS.
PARAMETERS: path TYPE c LENGTH 50 DEFAULT 'C:\USERS\SCHWAB\PROGRAMS'.
START-OF-SELECTION.
LOOP AT name.
PERFORM download_program USING name-low.
ENDLOOP.
FORM download_program
FORM download_program USING value(i_name) LIKE trdir-name.
DATA: BEGIN OF lt_data_tab OCCURS 0,
line(72),
END OF lt_data_tab,
l_filename TYPE string.
CONCATENATE path '\' i_name '.TXT' INTO l_filename.
READ REPORT i_name INTO lt_data_tab.
IF lines( lt_data_tab ) = 0.
MESSAGE e001(uc) WITH TEXT-TK0.
ENDIF.
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
filename = l_filename
CHANGING
data_tab = lt_data_tab[]
EXCEPTIONS
OTHERS = 0.
IF sy-subrc <> 0.
MESSAGE e001(uc) WITH TEXT-K01.
ENDIF.
ENDFORM. "download_program
AT SELECTION-SCREEN ON name.
check name-low <> space.
SELECT SINGLE * FROM trdir WHERE name = name-low.
IF sy-subrc <> 0.
MESSAGE e001(uc) WITH TEXT-K02.
ENDIF. -
ABAP Program in a Process Chain
Hi!
I create a program in ABAP/4. The program modify an attribute of a Z table I have previously created.
I want to add that program in a process chain of BW which load a cube. The problem is that when I am in in the process chain, the program I have created doesn´t appear in the available programs to select and associate to the process chain.
What I have to do to have the ABAP program available to select and associate to the process chain?
Thanks in advance.Hello Nicolas, there are a few options you can try.
1. Instead of an ABAP program, would you think of incorporating your logic into a function module and then create a generic datasource in R/3 to extract the data from your Z table using the function module. There is a function module in R/3 called <b>RSAX_BIW_GET_DATA_SIMPLE</b> that you can copy and use as a template for your function module. Refer to the following blog:
<a href="/people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module:///people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
You can also search this forum for RSAX_BIW_GET_DATA_SIMPLE for other ideas.
2. If you really want to use your ABAP program in R/3, then your best solution would be to create a job in R/3 that is triggered by an event. This job will have two steps in it.
Step 1: execute your ABAP program to fill your Z table
Step 2: execute program to notify process chain in BW that ABAP process is complete (sample source below)
In your process chain in BW, your ABAP process should be set up to be
Called From: (RFC destination of your R/3 system)
Scheduled Program: Event (event name in R/3)
You may get a help message about "Requirements for asynchronous processes". This is an informational message telling you that if you call an ABAP program from a remote system, there is no way for BW to monitor it, so you will have to execute a function module (RSPC_ABAP_FINISH) in the R/3 system to inform the process chain when the ABAP program finishes. You can create your own program in R/3 to use this function module:
*& Report Z_RSPC_END_PROCESS *
* Trigger end of an ABAP process in BW process chain.
REPORT z_rspc_end_process.
*"*"Lokale Schnittstelle: Detination BW
*" IMPORTING
*" VALUE(I_VARIANT) TYPE RSPC_VARIANT
*" EXCEPTIONS
*" ALREADY_FINISHED
PARAMETER: p_rfc LIKE rfcdes-rfcdest,
p_var(30) TYPE c.
CALL FUNCTION 'RSPC_ABAP_FINISH'
DESTINATION p_rfc
EXPORTING
I_VARIANT = p_var
EXCEPTIONS
ALREADY_FINISHED = 1
OTHERS = 2
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
This program in R/3 will inform your process chain in BW that the ABAP process is finished and BW will continue to next process in the process chain.
Note:
p_rfc would be the RFC destination of your BW system
p_var would be the name of the ABAP process in your process chain
Hope this helps. -
Hi ,
Is there any standard ABAP program available in the system to find the obsolete statements in the given custom program?.
Is there any table available in ths sytem to store the list of obsolete statements?
Is there any table available in the system which stores the new function modules for the obsolete fms in ECC6?
Thanks,
Selva.Hi All,
My requirement is , I will give the package name and the report should give the obsolete staements/FM's used in the programs under that package.
UCCHECK will do this. But it will display only UPLOAD and DOWNLOAD as obsolete FM's. -
Call ABAP program from a process chain
Hi ,
Can anyone tell me how do we call an ABAP program in R3 from a process chain in BW.
Its real urgent please help.
Thanks
AnkitHi,
Create ABAP program in BI/BW system with name like ZFILL_CALL.
Create RFC enabled function module(eg: ZRFCFM) in R/3 system, in this function module call your program which fills the ZTABLE from application server.
Call RFC function module ZRFCFM from your program ZFILL_CALL in BW system.(u need to RFC connections to these systems).
Create process of type "ABAP program" which u will find in General sevices in RSPC. Attach this process befor u r inpackage process chain.
Hope it will work.
Sree -
ABAP program developed in one system will it run in another system.
Hi All,
I have a very important query.
I know that SAP 4.7, BW 3.1 and SAP CRM 4.0 have same kenel release SAP Basis 620.(please correct me if I am wrong)
If Kernel in these systems are same, will an ABAP program developed in one system (say SAP 4.7) also work in another system (say CRM 4) with same kernel.
This is very important me.
Please help.
With Regards
AmitHi Amit,
1. If we transport a program from R/3
to BW or CRM,
It will work inside BW,CRM
Bcos the basis/abap layer is always there in such systems.
2. However, if the program uses some tables/FMs etc,
which are not there in the Bw/Crm,
then it may give error. thats all.
Regards,
Amit m. -
Abap program versions missing / incorrect
Hi,
I have been searching OSS, SDN and the web but have not found any answers.
We are in the process of applying our support packs (ECC5) and have found a couple of inconsistencies with a few of our z* abaps. The latest version for some of them appears to be missing in our QA environment
Prior to applying the support packs we did a series of client copies using SCC9, SCC5 & SCCL , as well as using a R3trans script to delete the client. Not sure how this is related but think that it is .
As an example if I look at program a Z_XXXXXXXX in our
development environment I see the following versions
DECK910732 12.12.2007 18:15:50 GAZZA
DECK910027 28.09.2007 11:06:21 GAZZA
DECK909877 14.09.2007 17:15:43 GAZZA
If I check the transport logs they appear to move through in the correct sequence from Dev to QA and into Production,
The problem is that in QA the version DECK910027 is the active version not the DECK910732 which was transported after it ?
My questions are these
Why isnt the correct version DECK910732 in QA
And how do we identify any other objects programs that might have the
same problem.HI,
My answer is probably a little late, but we had a similar issue. And it's apparently normal that not versions management is available on the QA system. We had to check the version on the system where the Z********* porgrams have been created. For us it was our Development system.
Regards -
Call SXPG _ CALL _ SYSTEM from ABAP program
Hi,
Someone may help me? I need to call the function module SXPG _ CALL _ SYSTEM from ABAP program for to encrypt a file.
I created the command by SM49 , but I don't know how I can call it from ABAP program.
Thanks
Maria CHi Maria.
This is a possible code you can use:
DATA: log LIKE TABLE OF btcxpm WITH HEADER LINE.
Can contain STDOUT, STDERR
commandname =
CALL FUNCTION SXPG_CALL_SYSTEM
IMPORTING
COMMANDNAME = commandname
PARAMETERS = parameters
EXPORTING
STATUS = status
TABLES
EXEC_PROTOCOL = log
EXCEPTIONS
NO_PERMISSION = 1
COMMAND_NOT_FOUND = 2
PARAMETERS_TOO_LONG = 3
SECURITY_RISK = 4
WRONG_CHECK_CALL_INTERFACE = 5
PROGRAM_START_ERROR = 6
PROGRAM_TERMINATION_ERROR = 7
X_ERROR = 8
PARAMETER_EXPECTED = 9
TOO_MANY_PARAMETERS = 10
ILLEGAL_COMMAND = 11
OTHERS = 12.
The following are the comments of the parameters taken from:
http://help.sap.com/saphelp_40b/helpdata/en/fa/0971ee543b11d1898e0000e8322d00/content.htm
Parameters
IMPORTING Parameters
Parameter name
Use
COMMANDNAME
The name of the definition of the external command, as specified in the maintenance function (transaction SM69).
PARAMETERS
Arguments for the external command as specified by the definition in the R/3 System and by the calling program or user.
These arguments are checked for impermissible characters, such as the ; under UNIX. Problems are registered with the SECURITY_RISK exception.
EXPORTING Parameters
Parameter name
Use
STATUS
Returns the final status of the execution of the external command:
· Value O: The external command was started and ran to end successfully.
· Value E: An error occurred; the external command was not run successfully.
Tables Parameters
Parameter name
Use
EXEC_PROTOCOL
Contains the STDOUT and STDERR output of the external command and any output from the target host system.
Exceptions
Exception name
Meaning
X_ERROR
Reserved for future use.
NO_PERMISSION
The AUTHORITY-CHECK of the users authorization for the authorization object S_LOG_COM failed. The user is not authorized to carry out the command named with the specified arguments on the target system.
COMMAND_NOT_FOUND
Command name, as identified by COMMANDNAME and OPERATINGSYSTEM, has not been defined in the maintenance function (transaction SM69).
PARAMETERS_TOO_LONG
The combined argument string (ADDITIONAL_PARAMETERS and the DEFINED_PARAMETERS, as returned in ALL_PARAMETERS) exceeds the limit of 128 characters in length.
SECURITY_RISK
Either:
· The command contains impermissible characters. These are characters with potentially dangerous properties, such as ; under UNIX.
· The command definition specifies that an extra-check function module be run. This function module has rejected execution of the command.
WRONG_CHECK_CALL_
INTERFACE
The command definition specifies that an extra-check function module is to be run. Either this function module is missing, or the interface defined for this function module does not match that of the standard R/3 function module SXPG_DUMMY_COMMAND_CHECK. For more information, please see SXPG_DUMMY_COMMAND_CHECK: Interface for Extra-Check Function Modules.
TOO_MANY_PARAMETERS
The command definition specifies that user-specified arguments for the external command are not allowed. However, an additional string of command arguments was specified.
PARAMETER_EXPECTED
The command definition includes the placeholder character ?, which signifies that additional user-defined arguments are required. However, no additional arguments string was supplied.
PROGRAM_START_ERROR
An error occurred while starting the external command. The R/3 system field SY-MSGV1 contains additional information on the problem.
PROGRAM_TERMINATION_
ERROR
An error occurred while trying to obtain the return code of the external program. The R/3 system field SY-MSGV1 contains additional information on the problem.
ILLEGAL_COMMAND
The external command definition was modified "illegally". That is, the command was not modified by means of the maintenance function (transaction SM69).
The modified command is registered in the system log in its substituted form. The message is registered under the system log ID "LC".
OTHERS
Catch any new exceptions added to this function module.
Hope this will be useful.
Sandro Lombardo -
How to get Access key for ABAP Program development in HANA Studio
Hi,
I have got instance for ABAP on HANA development system.
But while creating new program it is asking me for Access key, since I do not have user id pwd for service market place I couldnt able to create the access key.
Can any one suggest the way to create ACCESS KEY??
Thanks,
RamDear Ram,
it seems that you need to follow the chapter 6.1 in the documentation...:
Kind regards, Stephan -
How to get data in ABAP program from multicube in external BW system
Hi friends,
I want to get data from one multicube which resides in an external BW system, in my ABAP program internal table. Is there any SAP standard RFC / BAPI for this or is there any other way around or I have to design my own program to get the data ?
To make my requirement clearer, my ABAP program is in one BW box and the above mentioned multicube in another BW box. I want to get data from the multicube into my program.
Any help is appreciated with points.Look at the following FM; you may find the FM RSDRI_INFOPROV_READ_RFC useful.
Call the FM in your program and read data and update.
RSAD_INFOCUBE_READ_REMOTE_DATA
RSDRI_INFOPROV_READ_RFC
Ravi Thothadri -
How to make inactive ABAP Program in production system
Dear Expert,
I have a lot abap program in production system which are not used anymore and my company plan to upgarde our SAP system, therefore to reduce the effort for the SAP upgarde I will deactivate the unused ABAP program.
My question how to change the active abap to inactive in production system ?
Thank you in advance.
Best regrads,
TjandiagungProgram details are stored in the table REPOSRC.
Primaray keys are PROGNAME and R3STATE.
Suppose if the program zxy is in active state, then enry will be
ZXY A
Suppose if we made some changes to it and saved, so the program is in inactive state. so one more entry will be there in the table
ZXY A
ZXY I
So if you add like this for the program which you want in the table REPOSRC, then that programs will be in inactive state.
Regards,
Nikhil
Maybe you are looking for
-
Pl explain me the transfer of requirement???
-
Arabic Text with SKR Headr1 Font
I have installed Indesign CC, Added New Arabic Text with SKR Headr1 Font, but arabic text is scrambled, Tried with CS5/6, same issue, I Have i7-Win7x64 Arabic Enabled
-
How to download RAW images from Canon S100 to iPhoto?
How to download RAW images from Canon S100 to iPhoto?
-
Picture has black rectangular border when it should be just selection
I have cut a selection out of a picture in photoshop but selecting it with the wand tool, then copying to a new layer, and deleting the background, so there should be no background. However, when I put the photo into an InDesign document it shows wi
-
The Dreaded PGC error in Encore CS4
Hi Group, Have used Encore for a couple of years now and encountered the PGC errors in previous versions all of which I eventually surmounted. Usually they were audio based and changing the saving settings in WAV files usually solved it. However now