Delete customized enhancement objects issue
Hello everyone!
I'm quite new to SAP, and I was trying to make an enhancement to display additional field in the Product Header area. I did some steps, but at some point wanted to start again and delete enhancement. When I've tried to do that with the button "Delete component enhancement" warning message appeared that enhancement is not empty. Then I went to tc sm34 cluster BSPWDVC_CMP_EXT and deleted controller substitutes and enhancement definition there. After that I wanted to delete obsolete objects from the Z package and that's the point where the issue comes in. When I select, for example, BSP Application or classes created by wizard, and try to delete them, GUI just hangs. No errors, no warnings. If I try to create enhancement again without deleting obsolete objects, it asks me if I want to overwrite the BSP application, that was created with my first attempt. If I choose yes, it hangs in the same manner.
Is there a way to solve this? Please advise.
Thanks in advance,
Alex.
I've actually followed note 1122248, but at the step: "Then go to the BSP components in the ABAP workbench (SE80) that are used to store the enhancements. Search for the obsolete objects and delete them" GUI just hangs.
In addition, even if I try to create new package, or class, or even save a program in a local object GUI hangs. Is it some global problem?
Regards.
Similar Messages
-
Delete customs append structure issue
Hi Gurus,
I added a customs append structure with a 'YY' field in one of LO extractr structures.
Now I don't need that field, I need to delete that customs append structure and field from the extract structure. I deleted that 'YY' field but I don't how to delete customs append structure which one I created.
Please advice ?
Thanks
LizaGoto SE11 -> Give append structure name ..should be ZA* and select delete option , This will delete append structrure ref. from extract structure.
Hope it helps.. -
Deleting CRM2007 customer enhancement
Hi,
we made a lot of testing of the creation and deleting of view enhancements and its sets (BSP_WD_CMPWB) of the CRM2007 component IUICOBJD. Now, after deleting all enhancement sets we have the problem that, when (after creating and assigning an new enhancement set) we only "ENHANCE" the view of the above descriped component, without any changes (no new customer fields etc.), the browser shows a white screen with the following error:
Cannot display view IUICMD/MainVS
An exception occurred during the internal HTTP communication Exception Class CX_BSP_WD_HTTP_RESPONSE_ERROR
Text: HTTP answer has status 500
Additional Info: Business Server Page (BSP) Error
Program: CL_BSP_WD_STREAM_LOADER=======CP
Include: CL_BSP_WD_STREAM_LOADER=======CM002
Source Text Row: 61
An exception occurred during the activation of target view usageIUICOBJD.MainWindow for the navigation
An exception has occurred Exception Class CX_BSP_WD_RUNTIME_ERROR - View usageIUICOBJD.MainWindow could not be bound
Method: CL_BSP_WD_VIEW_CONTROLLER=>BIND_VIEW
Source Text Row: 162
We don't receive this error when showing other "enhanced" components, for example IUICPRP.
It seems to me that the object IUICOBJD is corrupt because of to many enhancement creation/deletion or that there is still something that must be deleted to "clean up" the component completely. I allready tryed note 1122248 without success.
Does anybody have any idea how to fix this problem or how to "clean up" completely the component?
Thanx & best regards,
Oliver
Edited by: Oliver Pregler on Apr 14, 2008 4:10 PMHi Oliver,
Whenever you get en exception from the CL_BSP_WD_STREAM_LOADER class this indicates a problem with a runtime repository. Either there is an error in one or it contains dynamic parts and the corresponding ICF service is inactive.
In your I suspect two possible reasons:
1) You enhanced component A with a window/ interface view and used (declared usage) of this enhancement in a component B. Now you deleted the enhancement of A including the new interface view. But this is still used/ referenced by component B. Now when you load B (latest access the usage that points into nirvana), system crashes as usage target does not exist anymore.
2) You enhanced component A, and re-enhanced it. By any weired reason (copy and paste error, system bug, or similar) the runtime repository of your enhancement still reflects pieces of the previous enhancement. To fix this, copy the original SAP runtime repository and add what you've added (if at all).
I would assume 1) to be the cause in your case but I'm not 100% sure from your posting.
Please let us know if this information was useful. -
Custom Lock objects few question issues
Hello guys , i create a custom lock object for my z tables ( ZFISGC_MCFG ) which have 3 key field
MANDT
ID_EMPRESA
CL_MVTOSGC
now in my program doing testing i put a break point after the ENQUEUE_ of the lock object
then when i go to the sm30 and try modif the value of the entry using the same key i pass to the ENQUEUE_ fm i can modif and save the entry now i am now if that is the right workflow in custom object lock or if i am doing something wrong , this is how i can the enqueue FM:
call function 'ENQUEUE_EZFISGCOBJECT'
EXPORTING
MODE_ZFISGC_MCFG = 'E'
MANDT = SY-MANDT
ID_EMPRESA = p_bukrs
* X_ID_EMPRESA = ' '
* _SCOPE = '2'
* _WAIT = ' '
* _COLLECT = ' '
EXCEPTIONS
FOREIGN_LOCK = 1
SYSTEM_FAILURE = 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.
ThanksYou have to remember that SAP locks are logical locks, not physical. This means that whatever you enqueue is not physically locked from changes. You have to ensure that any program that tries to update your table, first checks these locks and stops the update if it finds that it is already locked.
Rob -
Hello Gurus!
This is my first post so bear with me. I am trying to update IT207 for Maryland (MD) counties using a custom enhancement in HRPAD00INFTYDB. This is called when an employee changes the MD county in their Permanent Address in ESS. I've done the same thing for IT210 using FM HR_ECM_INSERT_INFOTYPE with success, but when I use the same FM to update IT207 I get an error.
ST22 Info
Error analysis
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_REF_IS_INITIAL', was not
caught in
procedure "ADD_MESSAGES" "(METHOD)", nor was it propagated by a RAISING clause.
Since the caller of the procedure could not have anticipated that the
exception would occur, the current program is terminated.
The reason for the exception is:
You attempted to use a 'NULL' object reference (points to 'nothing')
access a component.
An object reference must point to an object (an instance of a class)
before it can be used to access components.
Either the reference was never set or it was set to 'NULL' using the
CLEAR statement.
The program reads IT207 using FM HR_ECM_READ_INFOTYPE, loops at lt_p0207, updates the begda and taxar (Residence Tax Area), then runs FM HR_ECM_INSERT_INFOTYPE to create the new record. This produces a dump (details above). The message that is being added is from message class PG, 204, and is only a warning.
If I only update the taxar (not the dates) the IT207 record is updated with the incorrect dates.
I am running FMs HR_ECM_INITIALIZE_BUFFER and HR_ECM_ENQUEUE_PERNR prior to reading IT207.
I have done extensive debugging of the enhancement ... I can manually skip the date check and it works fine. After a number of debugging sessions, the update works fine ... but only until I log out and re log in.
Any ideas on how to fix so that ADD_MESSAGES is not called?
Thanks!
CarlMy issue has been solved!
I had previously declared the message handler as:
DATA: lo_msg_handler TYPE REF TO if_hrpa_message_handler.
The enhancement activate ok until a message was passed. I found by changing the message handler to:
DATA: lo_msg_handler TYPE REF TO CL_HRPA_MESSAGE_LIST.
If I didn't want to output the messages I could have declared it as:
DATA: lo_msg_handler TYPE REF TO CL_HRPA_DUMMY_MESSAGE_HANDLER.
Next I instantiated the message handler:
CREATE OBJECT lo_msg_handler.
This was followed by my existing code:
Initialize buffer
CALL FUNCTION 'HR_ECM_INITIALIZE_BUFFER'
EXPORTING
message_handler = lo_msg_handler.
Enqueue Pernr (fixes context issue)
CALL FUNCTION 'HR_ECM_ENQUEUE_PERNR'
EXPORTING
pernr = <new_p0006>-pernr
message_handler = lo_msg_handler
IMPORTING
is_ok = lv_is_ok.
I hope this might help others. -
Custom Archiving Object: cluster tables
Hello All,
I need to create a custom archiving object to archive the content of a cluster table. Does anyone know how to do this? Would you provide me with the steps to do so?
Thank you in advance!Solution
As of R/3 Release 3.0, the ADK is also delivered to customers as a development tool for archiving programs. The ADK (Archive Development Kit) consists of function modules that help you to develop your own archiving solutions, as well as documentation on how to use the function modules.
As of Release 3.0, all existing archiving from SAP applications is moved to the ADK.
If you want to enhance an existing solution, you can do this with the help of the ADK. However, your own solutions may NOT delete or modify data from SAP standard tables.
Archiving classes are developed by SAP exclusively and must not be used alone but only in connection with an archiving object.
Archiving objects and archiving classes (and the objects belonging to the class) are not namespace-capable. A namespace as prefix may lead to errors in this case and must therefore not be used.
For more information on the ADK documentation please see Note 71930.
The two-days customer training BC670 deals with customer-specific enhancements to data archiving -
Internal Error in reading a Table of Oracle custom-defined objects.
Hi,
We are running into an Oracle internal error when trying to extract data from an OUT parameter of a stored procedure. The OUT parameter is of the type TABLE of Oracle custom-defined OBJECT.
Any help on this issue will be greatly appreciated.
Thanks, in advance,
OraNew
Program:
package test;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import java.util.ArrayList;
import java.util.List;
import oracle.sql.ARRAY;
import oracle.sql.STRUCT;
import src.vo.ProfileBank;
public class TestOracle {
* @param args
public static void main(String[] args) {
try{
Connection con = getConnection();
ResultSet rsBalance = null;
CallableStatement cs =
con.prepareCall("{ CALL acr_profiles.get_profile_bank( ?, ?, ?)}");
cs.setLong(1, new Long(133).longValue());
cs.setLong(2, new Long(29032).longValue());
cs.registerOutParameter(3,Types.ARRAY,"ACR_USER." + "ACR_PROF_BANK_TAB");
cs.execute();
ARRAY array = (oracle.sql.ARRAY) cs.getObject(3);
System.out.println("length: "+ array.length());
System.out.println("isConvertible: " + array.isConvertibleTo(Object.class));
System.out.println("isInline: " + array.isInline());
rsBalance = array.getResultSet();
showResultSet(rsBalance);
} catch (Exception sql){
System.out.println("Exception "+ sql);
public static void showResultSet (ResultSet rs) throws SQLException
System.out.println("ResultSet = "+ rs.toString());
List profileBanks = new ArrayList();
while (rs != null && rs.next()) {
STRUCT struct = (STRUCT)rs.getObject (2); //getting the Internal Error on this line.
Object[] attribs = struct.getAttributes();
System.out.println("Bank Alias Id"+ (java.math.BigDecimal) attribs[0]);
System.out.println("Bank Name"+ (String)attribs[1]);
System.out.println("Bank set flag "+ (String) attribs[2]);
ProfileBank pBank = new ProfileBank();
pBank.setBankAliasId(new Integer(((java.math.BigDecimal) attribs[0]).intValue()));
pBank.setBankName((String) attribs[1]);
pBank.setSelBankFlag((String) attribs[2]);
profileBanks.add(pBank);
public static Connection getConnection() throws ClassNotFoundException, SQLException {
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("Driver loaded");
// establish a connection
Connection conn = DriverManager
.getConnection(
"jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST=10.3.11.201)(Port=1521)) (CONNECT_DATA=(SERVICE_NAME= aada.a.al)))",
"acr_user", "acr_user");
System.out.println("Database connected");
return conn;
Console Output:
Driver loaded
Database connected
length: 2
isConvertible: false
isInline: true
ResultSet = oracle.jdbc.driver.ArrayDataResultSet@1f3aa07
Exception java.sql.SQLException: Internal Error
Partial Stacktrace obtained from the Eclipse Debug window:
oracle.jdbc.driver.DatabaseError.throwSqlException(int) line: 292
oracle.jdbc.oracore.OracleTypeCOLLECTION.initCollElemTypeName() line: 1192
oracle.jdbc.oracore.OracleTypeCOLLECTION.getAttributeType(int) line: 1225
oracle.jdbc.oracore.OracleTypeADT(oracle.jdbc.oracore.OracleNamedType).getFullName(boolean) line: 119
oracle.jdbc.oracore.OracleTypeADT(oracle.jdbc.oracore.OracleNamedType).getFullName() line: 93
oracle.sql.StructDescriptor(oracle.sql.TypeDescriptor).initSQLName() line: 497
oracle.sql.StructDescriptor(oracle.sql.TypeDescriptor).getName() line: 392
oracle.sql.StructDescriptor.getClass(java.util.Map) line: 2003
oracle.sql.STRUCT.toJdbc(java.util.Map) line: 983
oracle.jdbc.driver.ArrayDataResultSet.getObject(int, java.util.Map) line: 1379
oracle.jdbc.driver.ArrayDataResultSet.getObject(int) line: 1198
test.TestOracle.showResultSet(java.sql.ResultSet) line: 53
test.TestOracle.main(java.lang.String[]) line: 38
Environment:
Database: Oracle 10g (10.2.0.3)
JDBC Drivers: version 10.2.0.3 (ojdbc14, orai18n)
Database Server: HP-UX
Client machine: Windows XP
<end of thread>hi Thom,
most error relating to table DOKTL are caused by misconfigured network card.
if this is a "home" system, install a loopback adapter from Microsoft and use IP address 127.0.0.1 and also check "hosts" file for inconsistency. do not use the IP adddress provided by your ISP as it may change. -
Spark skins, modules and custom themes: linking issues?
I've read some other threads on this topic that were related to the pre-release versions, but I can't get a complete answer get. I also opened an issue in the bug tracker (https://bugs.adobe.com/jira/browse/SDK-30748), but I'm also posting here, hoping to get some help.
Basically, I have a bunch of skin classes for the standard Spark controls (e.g. s:Button), as well as other skin classes for my custom SkinnableComponent objects. I need to reuse those skins in many projects, so I created a theme: I put in a Flex Library Project all my skin classes, all related graphical assets, and a defaults.css stylesheet that associates each component with its correct skinClass.
Now, in my modular application project, what is the correct method to link this compiled theme SWC? I tried different ways, and found some issue for each one:
In <app>-config.xml, using the <theme> compiler option: this way, modules don't pick up the skinClass correctly (default components use the standard Spark skin, and for custom components I get many skinNotFound errors).. its a pity, I like this method because command-line invocations of MXMLC (build scripts) automatically apply the settings in the config.xml file, while I have to manually keep in sync any additional compiler argument.
In <app>-config.xml, using the <theme> compiler option and add -compiler.isolated-styles=false: seems to work, but not always.. moreover, the option must be put in additional compiler argument, and not in <app>-config.xml, to have effect... I understand that the config.xml file, in a modular application, is only applied to the main application (or that it must replicated with correct name for each module)?
In additional compiler arguments, using the theme+= option.. these arguments should be used also for modules compilation, and this seems the most effective solution at the moment (swf size of compiled modules has slightly increased), but skinNotFound errors still happens sometimes, usually going away after a clean build.. maybe this has something with the incremental build performed by Flash Builder and/or optimization of modules?
Right now, I've tried adding also -keep-all-type-selectors in the compiler arguments to see how it goes...
Is my scenario supported by Flex 4? How should I setup my environment? I read how to create custom themes in the official documentation (http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7f85.html) and a specific help section exists about using styles with modules (http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-799a.html#WSda 78ed3a750d6b8f1b97f82d12508050aa0-8000), but it only cover simple style sheets, no specific information about compiled themes and the suggested linking strategy.
I'm using Flash Builder 4.5.1 and compiling with Flex SDK 4.5.0 (both application and theme), the project use some Halo components (e.g. DateField) but almost all components are Spark, and I use Spark component for <s:Application> and <s:Module>. Modules are optimized for the main application, and are loaded using the ModuleManager.
Thanks in advance for any help.
Cosma ColanicchiaI'm not sure Spark components will work if the compatibility mode is set to
3. -
HR custom authorization objects
Is it possible to have more than one custom HR authorization object active at the same time? For example if I need 2 custom variations of P_ORGINCON (I have some very complex requirements), is that possible, or am I limited to just 1? Having more than 1 seems to present a problem when I run RPUACG00 to generate include MPAUTCON. It overlys the code generated fo the first cusom object with code for the second object, therefore only allowing cgenerated code to exist for 1 of the objects.
And one additional question - when I create a custom HR object (one which contains infotype, subtype, persg, persk etc), am I limitied to only using fields from PA0001 in that object? If I include some other field that does not exist on PA0001, when I run RPUACG00 it gives me the error "Field xxx is not allowed in authorization object Z_xxx".
Many thanks,
MikeOne example of a requiremnet I have is for a manager to have 3 different types of authority based on when a position was in his org structure. So if a position is currently in his org structure he might have WRITE access to their infotype 2,6,8... for positions that were in his org strucure between 1 and 60 days ago (but are not in his structure as of today) he might have WRITE access to their infotype 2 and 6 and READ access to other infotypes, and for people that were in his structure 61-9999 days ago, he might have only READ access to all the position's infotype data.
I was thinking of using 3 disctinct HR authorization objects to cover each of these 3 scenarios, but ran into the issue mentioned above with the generation program RPUACG00. -
Dunning Block for Customer Disputed objects
Dear Colleagues,
I come with what seems to be a simple but interesting requirement from my customer, that I believe can turn out to be an interesting subject for discussion and knowledge exchange.
My customer requires having the possibility of creating several dispute cases, at different times with different partial amounts and different reasons, related to the same invoice. This is possible only through u201Ccustomer disputed amountu201D. With this functionality I can create several disputes linked to the same invoice, with partial amounts and different reasons.
The tricky part comes when the requirement also asks for automatic dunning block for the invoice, for each one of the dispute cases. Here I face with two basic problems:
1) There is only one dunning block at invoice level. (an invoice cannot have several dunning block reasons at the same time.
2) The automatic document changes through dispute cases is not for "customer disputed objects". It only creates and updates the dunning blocks on invoices that belong to a traditional dispute case ("Disputed Objects").
Has anyone faced a similar requirement before? any insights or suggestions regarding this process?
Thank you very much
Best Regards,
Luis AngeliHi Luis,
Customer disputed objects are meant to capture customer disputes prior to the receipt of payment.
They can be used to create many disputes for a single invoice.
However a single invoice can only be disputed once.
Further to this, if different parts of an invoice are disputed, the dunning block should only be removed once all issues against the invoice are resolved.
It could be an idea to create a single dispute against an invoice, and then get different people to resolve the different issues.
You may also want to consider how you are creating your invoices - it could be that you split them down further so there is only a single dispute against an invioce. -
XI 3.0 Import SCW and importing IR Objects issues
Hi,
I am working on SAP XI 3.0.
I imported IR objects in the repository through .tpz file and all the objects were imported successfully. I was able to view all the objects. Then I manually created the SCW in the SLD.
I had delete the IR objects and did re import successfully but the objects are not displayed in the list.
Also when I try to import the SCW it is imported successfully but not displayed in IR.
Appreciate your support
ThanksHi,
I have informed the my basis team on the import issue.
But I have two queries.
1.When I import the SWCV version from its going directly to the Changed List -> Closed. And every option is disabled in the context menu when I right click on the SWCV.
2. How to import the SAP Basis v 7.0 content into Integration repository. When I imported SAP BASIS 7.0 from SLD it went to the Changelist - closed.
Thanks
Zak -
Global list of all custom/developed objects
Hi all!
We need to get a list of all custom objects of a SAP systems.
First time we think accessing TADIR to get all repository objects of the system and after this access, get all atributes for any of the retrieved objects.
Example:
To a report, access TADIR and TRDIR dictionary tables. in TADIR use class of development custom or in TRDIR any of the user that don't belongs to SAP.
But this solution to the problem is very effort and we should access so too many tables for the objects to get their attributes.
Second time, we think filtering the objects using their namespace with FM TR_CHECK_NAME_CLASS, but this option jumps some objects, like VOFM generated objects or customer exits form VA01 transaction.
Do any of you know the way of extracting a list of all Custom/developed objects for a System?Hi,
Just check if this suffices.
REPORT zobjects no standard page heading
TABLES:TADIR,TSTC,V_USERNAME,VRSD.
TYPE-POOLS:slis,VRM.
TYPES: BEGIN OF ittemp,
object LIKE tadir-object,
obj_name LIKE tadir-obj_name,
text LIKE trdirt-text,
author LIKE tadir-author,
devclass like tadir-devclass,
name_text LIKE v_username-name_text,
tcode like tstc-tcode,
korrnum like vrsd-korrnum,
END OF ittemp.
DATA: itfinal TYPE STANDARD TABLE OF ittemp WITH HEADER LINE,
wafinal TYPE ittemp.
DATA : name TYPE vrm_id,
list TYPE vrm_values,
value LIKE LINE OF list.
DATA:itfieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.
DATA:itrepid TYPE sy-repid.
itrepid = sy-repid.
DATA:itevent TYPE slis_t_event.
DATA:itlistheader TYPE slis_t_listheader.
DATA:walistheader LIKE LINE OF itlistheader.
DATA:itlayout TYPE slis_layout_alv.
DATA:top TYPE slis_formname.
DATA:itsort TYPE slis_t_sortinfo_alv WITH HEADER LINE.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETER: PACKAGE LIKE TADIR-DEVCLASS.
SELECTION-SCREEN END OF BLOCK B1.
START-OF-SELECTION.
PERFORM getdata.
PERFORM alv.
*& Form GETDATA
text
FORM getdata.
read the repository object table and link with username if found
SELECT tadir~object
tadir~obj_name
trdirt~text
tadir~author
tadir~devclass
v_username~name_text
INTO TABLE itfinal
FROM tadir
LEFT JOIN v_username
ON tadirauthor = v_usernamebname
LEFT JOIN trdirt
ON tadirobj_name = trdirtname
WHERE tadir~devclass = PACKAGE
"'$TMP'
AND ( tadirobj_name LIKE 'Z%' OR tadirobj_name LIKE 'Y%' ).
CHECK sy-subrc EQ 0.
loop at itfinal.
*TCODE FROM TSTC
select single tcode from tstc into (itfinal-tcode) where pgmna =
itfinal-obj_name.
*LATEST TRANSPORT REQUEST NUMBER FROM VRSD
select single korrnum from vrsd into (itfinal-korrnum) where objname =
itfinal-obj_name.
modify itfinal.
endloop.
delete itfinal where korrnum is INITIAL.
SORT itfinal BY author object.
ENDFORM. "GETDATA
*& Form ALV
text
FORM alv.
IF itfinal[] IS INITIAL.
MESSAGE 'No Values exist for the Selection.' TYPE 'S'.
STOP.
ENDIF.
DEFINE m_fieldcat.
itfieldcat-fieldname = &1.
itfieldcat-col_pos = &2.
itfieldcat-seltext_l = &3.
itfieldcat-do_sum = &4.
itfieldcat-outputlen = &5.
append itfieldcat to itfieldcat.
clear itfieldcat.
END-OF-DEFINITION.
m_fieldcat 'OBJECT' '' 'OBJECT' '' 04 .
m_fieldcat 'OBJ_NAME' '' 'PROGRAM NAME' '' 40 .
m_fieldcat 'TCODE' '' 'TCODE' '' 20 .
m_fieldcat 'TEXT' '' 'DESCRIPTION' '' 70 .
m_fieldcat 'AUTHOR' '' 'AUTHOR' '' 80 .
m_fieldcat 'DEVCLASS' '' 'PACKAGE' '' 30 .
m_fieldcat 'KORRNUM' '' 'LATEST TRANSPORT REQUEST' '' 20 .
itlayout-zebra = 'X'.
itlayout-colwidth_optimize = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = itlayout
i_callback_user_command = 'LIST1'
i_callback_top_of_page = 'TOP'
it_fieldcat = itfieldcat[]
i_save = 'A'
is_variant = ITVARIANT
it_events = itevent[]
is_print = ITPRINTPARAMS
it_sort = itsort[]
TABLES
t_outtab = itfinal
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. "ALV
*& Form TOP
Top of page for ALV Report
FORM top.
DATA:STRING1(70),
STRING2(70),
title1(100),
title2(100),
count(10).
describe table itfinal lines count.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = itevent
EXCEPTIONS
LIST_TYPE_WRONG = 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.
string1 = 'List of Objects in Development Class'.
concatenate string1 ':' itfinal-devclass into title1.
walistheader-typ = 'H'.
walistheader-info = title1.
APPEND walistheader TO itlistheader.
string2 = 'Total No.of Objects'.
concatenate string2 ':' count into title2.
walistheader-typ = 'H'.
walistheader-info = title2.
APPEND walistheader TO itlistheader.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = itlistheader
I_LOGO = ''.
I_END_OF_LIST_GRID =
ENDIF.
CLEAR itlistheader.
ENDIF.
ENDFORM. "TOP
*& Form list1
ALV Interactive-
-->R_UCOMM text
-->RS_SELFIELDtext
FORM list1 USING r_ucomm LIKE sy-ucomm rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN '&IC1'.
IF rs_selfield-fieldname = 'OBJ_NAME'.
READ TABLE itfinal INDEX rs_selfield-tabindex.
SET PARAMETER ID 'RID' FIELD itfinal-OBJ_NAME.
CALL TRANSACTION 'SE38' AND SKIP FIRST SCREEN.
ELSEIF rs_selfield-fieldname = 'TCODE'.
READ TABLE itfinal INDEX rs_selfield-tabindex.
SET PARAMETER ID 'TCD' FIELD itfinal-TCODE.
CALL TRANSACTION 'SESSION_MANAGER' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM.
K.Kiran. -
How to save the instance in standard lead from custom business object
Hi Experts,
I am unable to save the instance(Record) in standard Lead business object from custom business object.
Steps:
created one custom business object with mandatory fields for creating instance in standard lead.
in quick create screen i bind data elements to standard lead business object elements.
issue:
when i click on preview i am getting exception as Arguments not found
can you please tell me that How to save the instance in standard lead from custom business object with step by step .Hi Vijay,
Please refer this link under that mentioned that how to create lead using ABSL code
Web 2 Lead in SAP Cloud for Customer, step by step - Part 1 - myCloudDoor myCloudDoor
Under the "Action-CreateLead.absl" mentioned how to create lead
the above link for convert web 2 lead functionality and under they create lead using web data from ABSL code.
Regards,
Mithun -
Code for Custom Business Object and Adding/Updating Data
Hi,
I would like to update/insert data thru Custom Business Object to sql Server.Pls let me know is it possible in MSA.If yes I would appreciate if you can share the code/Process in this forum.
Thanks and Regds
HarishHarish
Depending on what data you update you need to do the following:
If updating SAP tables or customer tables which are an extension of a SAP object like business partner, material, activity or similar:
1. Create the extension of the data object via the easy enhancement workbench (EEWB). This will also create mapping functionality from MSA to CRM Server and extend the BDocs.
2. Go to the BDoc modeler. Find the sBDoc for data exchange (type Write BDoc), that contains your object and check whether the new segment is there.
3. In the Mobile Application Studio (MAS) you can now create a custom business object related to the standard sBDoc mentioned in 2 which is mapped to the new segment. This way the data exchange happens together with the main object
4. Drag & drop the fields of the new BO to a new tile, and link that tile to the existing main object in the UI via the appropriate relation.
If you would create a new business object / BDoc for a set of attributes belonging to a main object and not use an extension of the existing BDoc then the data would get its own flow and when replicating it would not come together with the main data. This can lead to data inconsistencies and in surplus effort administrating this data.
If you have your own objects not related to a SAP object, you can do it the following way:
1. Create your own table(s)
2. Create a Write sBDoc on the table(s)
3. Create BO's on each BDoc segment / table
4. (as above)
Hope this helps,
Kai -
Want to create custom BOR object
I want to create a custom BOR object ZMSN in SWO1 so what value should I put in for these filed
1: super type
2:object name
3:name
4:program
5: applicationIf you are creating the Custom business object ZMSN then.......put the follwoing values in parameters
1: super type :--- Leave it blank ...it is used only when we are enhancing( create a deletgate BO)
standard business object
2:object name :-- Give any relevant name like ...ZMSN
3:name :-- Give any relevant name like ...ZMSN
4:program :-- Give any relevant name like ...ZMSN
5: application :-- Select the relevant functional area for which u r creating it....like 'F' --> finance
'H'> Human resource, 'R'-> if Function area is unknown
Maybe you are looking for
-
How to schedule a background job using the Event concept..?
Hi Folks, I have a requirement that, I need a schedule a background job. Once after the previous job successful only, new job should get triggered. How to go ahead with this..? For Eg, I am scheduling a job called ZTEST periodically for 1 minute. If
-
Assigning javascript varible value to java variable
Hi all I want to find screen resolution in one jsp page.That can be done in javascript. (though 'screen.width and screen.height') But is there any way to assign that value to java variable. Any body has the idea? Help me.
-
Error during check of component BP_EEW view ContactRelEL in WCF_CC T.code
In CRM 7.0 EhP1, Perform Check showed error in UI Configuration that: "Context Node Attribute does not exist: STRUCT.ZZFIELD in Object type: BP_ACCOUNT, Subobject type: ZZI5TEEWCONTACT Role Config Key: <DEFAULT>, Component Usage: <DEFAULT>". Please h
-
How to create non editable fields in OIM?
Hi , I would like to know about the creation of non-editable fields in OIM. Thanks in Advance.
-
Make photos vertical from horizontal?
imac Mac OS X (10.4.7) Is it possible to change a photo from a horizontal to a vertical? Can I compress the photo in some way so that the 4x6 dimension goes vertically instead of horizontally? Please help--I'm trying to make family photos work in