Changing the field names in a CFQUERY object
Hello, I wonder whether you know the answer to this?
I want to change the names of the fields in a CFQUERY result
set after I have retrieved the results from the database (ie. I
can't use "AS" in the original SQL statement). I can think of 2
ways to do this - use the query-a-query (CFSQL) feature or just
build and populate a new query object, as set out below:
<cfquery name="CustList" datasource="name">
SELECT CustId,CustName,CustAddress FROM Customers
WHERE OrderStatus='P'
</cfquery>
OPTION#1:
<cfqueryname="GenericList" type="query">
SELECT CustId AS Id,CustName AS Name,CustAddress AS Address
FROM CustList
</cfquery>
OPTION#2:
<cfset GenericList = QueryNew("Id,Name,Address")>
<cfloop query="CustList">
<cfset unused = QueryAddRow(GenericList)>
<cfset unused =
QuerySetCell(GenericList,"Id",CustList.CustId)>
<cfset unused =
QuerySetCell(GenericList,"Name",CustList.CustName)>
<cfset unused =
QuerySetCell(GenericList,"Address",CustList.CustAddress)>
</cfloop>
Do you know which of these would be more efficient? And is
there a better way, whereby I can maniplulate the names of the
columns in the original query (ie. so that I can rename the
"CustName" field to "Name" and then use "CustList.Name" directly)?
Thanks!
Thanks guys!
If there is a close to zero overhead to the simple
query-a-query then that seems like the way to go, with no need to
look for a means of manipulating or modifying the original query.
The reason I want to change the field names is so that the
rest of my code can contain references to "CustList.Name" whereas
otherwise I would have to do something like
"Evaluate('CustList.#NameField#')" which is horribly messy. And the
way the original query is generated means I can't use "AS" in it,
but I still want to use the same code to work with that query
result and other query results that share similar/related data with
different field names.
Similar Messages
-
How to change the field name in SUS
HI,
In the section view all PO's, I want to change the field name <b>document number</b> to <b>invoice number</b>.Please do let me know how to go about it.
Thanks in advance ,
ManuHi,
The text ID should be first identified in the BSP (BBP_SUS_UI/DOC_NUMBER?)
Next execute SOTR_EDIT and use the FInd button. Enter the package of the BSP object (BBP_SUS_U?) and select the language as English. Execute the program and you will a complete list of text used in SUS screen. Locate the text ID as above and double click to change based on what you need.
Regards. -
Script : how to change the Field name in standard program(ZM_MEDRUCK)
Hi Experts,
I am working with SAP SCRIPT. i need to change the Field Name that is PO NO to Document No & PO DATE to Document Date.
These are assigned in data declaration as gv_name and gv_date.
Can anyone help me to change this Fields.
Regards,
Vijayan.RHi,
You can archive this by making change in SAP script only. You don't need to touch the standard prgm.
Debug the script and find it out which fields (In script editor) are printing these text on layout... then just replace them by creating your own text...
You can create a text in TTDTG table,, like ZZPO_NAME = ( Document Name),, and use this filed in the script editor.
&ZZPO_NAME& -
Changing the field name at runtime in rpt file
Hi everybody
I'm using C# and Crystal Report XI (Deverlop license) to develop windows application in VS.net 2003.
Please help me to change the field name of the bounded column of Crystal report file at the runtime.
(In some case client's database had changed the structure as fieldname, fieldtype. Then they request a utility to change the field names in the .rpt file programmatically )
Thanks
GiangSon
My email address: [email protected]user11200661 wrote:
That's fine but still i want to prefix the schema name within the .sql file. My .sql should contain the name of that parameter only as i want to get that parameter replaced by the schema name at runtime. Some other users are using the same .sql file and they have access to that specific schema only. i want to make the .sql file more general so that it can be used by everyone without altering it every time.Sorry, your requirement no longer makes sense.
If people have to access a specific schema because they need the script for general use, then you will have to hard code the schema name into it.
If the script is to prompt for the schema name and connect to that schema and then use that schema name inside the called sql script, then people would not be able to use it generically, as it would be reliant upon the schema name being passed in.
It sounds as if you're trying to write one generic thing that needs to do two different tasks.
Just have two scripts and make life simple. -
I want to change the field name in Oracle schema
Can I do ir?
If yes, please tell me how to type the SQL
ThanksUse ALTTAB command of my freeware SQLPlusPlus to ALTER a table anyway you like including inserting columns within the middle of the table.
regards,
M. Armaghan Saqib
SQL PlusPlus - Add power to command line of SQL Plus
SQL Link for XL - Integrate Oracle with XL
Download free: http://www.geocities.com/armaghan/
null -
E-recruiting: Requisition management - Possible to change the field names??
Hi to all e-recruiting experts,
Need some assistance pertaining to the requisition management portion in e-recruiting.
We have showed the standard SAP E-recruiting requisition bsp pages to our client and they have requested changes to the field names as they feel that the standard names are not intuitive enough.
For instance,
The field - "Hierarchy Level" - They have requested to change to "Job Grade"
and the field "Functional Area" to "Type of Work".
Is there any way that i can change the name of the field through configurations?
I understand that in a infotype, we can change the field name through translation. But can we change it in BSP? I was told to explore on how to configure via OTR.
Can anyone share on the steps involved?
Many thanks in advance.Well quite easy,
create a context for an otr text (E-Recruiting are in package PAOC_RCF_UI). You will find that in SOTR_EDIT.
Activate this context with implementing BADI BTFR_CONTEXT.
After doing this, adjust context in SOTR_EDIT with Go To -> Context -> Adjust.
Eventually refresh otr buffer with Transaction /$otr
For one text there can be more than one OTR Text in backend, so you might change more than one.
Regards -
Hi,
I am dynamically adding rows to a table using the following code
SheetIndexForm.Page1.tblSheets.trSheet.instanceManager.addInstance(true);
The rows cells are all text fields for user data input. Rows are getting added perfectly fine along with the text fields. The only issue I am facing is that all the new rows have the same name as the first row. Is there anyway I can change the name of the new row to something else. I tried
newRow.name = "trSheet" + newRowIndex.toString();
but it does not work. The XFA field names will still be the same.The field name will be the same but the row that they are from will be unique. So If the Row subform is called Row and the field is called field you will have Row[0].Field, Row{1].Field, Row[2].Field...etc
Now how do you reference that in an expression seeing as the [ ] are used for arrays in Javascript. You would need teh xfa.resolveNode("string .....") sytax. So if you want to add all three values you woudl use ths sytax:
Total.rawValue = xfa.resolveNode(Row[0].Field).rawValue + xfa.resolveNode(Row[1].Field).rawValue + xfa.resolveNode(Row[2].Field).rawValue
Or if you want to more sophisticated:
for (i=0;i<Row.instanceManager.count;i++){
Total.rawValue += xfa.resolveNode("Row[" + i + "].Field).rawValue
Note that the count is 1 based but th einstances are 0 based!
Hope that helps
Paul -
Can you change the field names in the address book?
Can you change the Pager field name to read 2nd cell?
No.
This add-on https://freeshell.de//~kaosmos/morecols-en.html allows you to modify the labels of the 4 custom fields of the contact card -
After changing the field name in BM layer, drilldown field is not in order
We have an organization hierarchy region->branch used in our HBD dashboard report. When we drilldown to branch level report by clicking the region field, the result is OK but branch field is not in order. The branch level order was working fine before we changed this BRANCH field name in BM layer from Team/Branch to Branch.
I have confirmed that I know the user who originally posted this to Metalink. This issue is no longer a problem. Rebooting resulted in the order displaying properly.
-
Changing the technical names of an ODS and queries
Can I change the technical name of an ODS and the queries that are built on it? If so how? Thanks
Hi Niten,
As said by others it is not possible to change the technical name of any BW Object as there are too many complexities involved. However a possible option is create another ODS/cube and queries as the copy of the existing one and then transfer all the data.
Refer this post:
Re: Change infocube name
Bye
Dinesh -
I am having 20 fields in a table and in this table i am having about sis lakhs record. Now i realised that one of the field name is spelt wrongly.I am using oracle 8i now without doing anything to the table i must have to change the field name,
Foe example the wrong field is martialstatus and it should be corrected to maritalstatus.
If any body having any answers can reply to this mailid [email protected]Suresh,
You have 6 hundred thousand records in a table, You are lucky with 8i this is no problem,
You can solve this in two ways,
1. Create a new table with correct field name and then insert all record into the new table.
2. Create the new field with correct name in
the same table and then copy the data from the old field into new field and then use the DROP COLUM command and drop the old field.
Good Luck
Nisar Tareen.
Canada.
null -
Changing the display names of objects in the JTree
Hi All;
Is there a possibility of changing the display name of the nodes in JTree? I mean not the actual name of the JTree object, but only the display name? Is there any method available for that?
Your help would be greatly appreciated
Thanks in advance
Regards MadummIf your tree node object has application-specific complexity, you should define a custom tree node class and a renderer for that. Or if you just could use DefaultMutableTreeNode, call setUserObject() method with a new String.
-
Click on the field name of a multiple form in change value
In previous versions of Acrobat, you could click on a field and push the + or minus key to change the field number.
This is a forum related to System Center Service Manager. Your question seems to be related to Sharepoint 2010. Maybe it's better to ask in the Sharepoint 2010 forum, for instance: General
Discussions and Questions
Andreas Baumgarten | H&D International Group -
Changing the file name dynamicallly in file Adapter - NullPointerException
Hi, I want to change the file name directly from Java Mapping in the file adapter for this i have written this code:
[code]
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http:""/""/"+"sap.com/xi/XI/System/File","FileName");
String newFileName = CCC'_'NNN'_'NOMCIA'_'DATE;
conf.put(key, newFileName);
return newFileName;[/code]
Where CCC, NNN, NOMCIA and DATE are input of the user-defined function.
but it gives a null pointer exception:
[code]16:44:53 Start of test
Runtime exception during processing target field mapping /ns0:MT_HSBCAltasTrabajadores_TEST/row/separador7. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MM_JDBC_2_HSBCAltasTrabajadores_TEST_ method FileName$[123, James, Gates, Spectory, com.sap.aii.mappingtool.tf3.rt.Context@247d247d]
com.sap.aii.mappingtool.tf3.MessageMappingException: Runtime exception during processing target field mapping /ns0:MT_HSBCAltasTrabajadores_TEST/row/separador7. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MM_JDBC_2_HSBCAltasTrabajadores_TEST_ method FileName$[123, James, Gates, Spectory, com.sap.aii.mappingtool.tf3.rt.Context@247d247d]
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:347)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:309)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:309)
at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:398)
at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:141)
at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:102)
at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431)
at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.execute(MapServiceRemoteObjectImpl0.java:301)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:146)
at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320)
at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198)
at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129)
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(AccessController.java:215)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Root Cause:
com.sap.aii.utilxi.misc.api.BaseRuntimeException: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MM_JDBC_2_HSBCAltasTrabajadores_TEST_ method FileName$[123, James, Gates, Spectory, com.sap.aii.mappingtool.tf3.rt.Context@247d247d]
at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:56)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:291)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:309)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:309)
at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:398)
at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:141)
at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:102)
at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431)
at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.execute(MapServiceRemoteObjectImpl0.java:301)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:146)
at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320)
at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198)
at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129)
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(AccessController.java:215)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Root Cause:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
at java.lang.reflect.Method.invoke(Method.java:391)
at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:47)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:291)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:309)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:309)
at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:398)
at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:141)
at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:102)
at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431)
at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.execute(MapServiceRemoteObjectImpl0.java:301)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:146)
at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320)
at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198)
at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129)
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(AccessController.java:215)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Caused by: java.lang.NullPointerException
at com.sap.xi.tf._MM_JDBC_2_HSBCAltasTrabajadores_TEST_.FileName$(_MM_JDBC_2_HSBCAltasTrabajadores_TEST_.java:564)
... 26 more
RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ns0:MT_HSBCAltasTrabajadores_TEST/row/separador7. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MM_JDBC_2_HSBCAltasTrabajadores_TEST_ method FileName$[123, James, Gates, Spectory, com.sap.aii.mappingtool.tf3.rt.Context@247d247d]
16:44:53 End of test[/code]
Regards,
Luis DiegoHey Luis,
the container object only exists in message mapping runtime.
Thus you're getting a null pointer exception there.
For java mappings, remember that you have a .setParameter() method (which is necessary from definition of StreamTransformation interface),
which sets the private variable param with the transformation parameters. In your .execute() method, just use it like this:
DynamicConfiguration conf = param.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
Regards,
Henrique. -
Populate information when double click on the field name
I have this tree structure with the field names as shown at this picture.
<a href="http://img164.imageshack.us/img164/426/treeaf0.jpg">http://img164.imageshack.us/img164/426/treeaf0.jpg</a>
When I double click on the field name, I would like to populate the values related to the fieldname to the tab form next to the tree structure as should in the picture.
How am I suppose to do this?
My codes as shown below:
*& Report ZSCSDM_RULES_ENGINE_TRANSFORM_v4
*& with Column Tree Structure & ABAP Generic code
REPORT ZSCSDM_MODIFY_TRANSFORM_HERA.
GLOBAL DECLARATION
======================================================================
SCREEN 9000 TABS (WIZARD-GENERATED CODES. DO NOT CHANGE)-------------*
*&SPWIZARD: FUNCTION CODES FOR TABSTRIP 'TRANSFORM'
Rayden Tree Control Code.
CLASS CL_TREE DEFINITION DEFERRED.
CLASS CL_GUI_CFW DEFINITION LOAD.
TYPES : ITEM_TABLE_TYPE LIKE STANDARD TABLE OF MTREEITM
WITH DEFAULT KEY.
DATA: BEGIN OF ITAB_MO OCCURS 1.
INCLUDE STRUCTURE ZSCSDM_MO.
DATA:END OF ITAB_MO.
DATA: BEGIN OF ITAB_OF OCCURS 1.
INCLUDE STRUCTURE ZSCSDM_OF.
DATA:END OF ITAB_OF.
DATA: BEGIN OF ITAB_OS OCCURS 1.
INCLUDE STRUCTURE ZSCSDM_OS.
DATA:END OF ITAB_OS.
DATA: BEGIN OF ITAB_TREE OCCURS 1,
UNIKEY(100) TYPE C,
PARENT(100) TYPE C,
TYPE(10) TYPE C,
IN_AREA(1) TYPE C,
NAME(14) TYPE C,
DESC(255) TYPE C,
TAG(50) TYPE C,
END OF ITAB_TREE.
DATA: TREE TYPE REF TO CL_GUI_COLUMN_TREE,
DOCKING TYPE REF TO CL_GUI_DOCKING_CONTAINER,
REPID TYPE SY-REPID,
DYNNR TYPE SY-DYNNR,
TREE_APPLICATION TYPE REF TO CL_TREE,
LEVEL TYPE I,
AREA_COUNT TYPE I,
AREA_TEXT(30) TYPE C,
AREA_DESC(30) TYPE C,
AREA_KEY(30) TYPE C,
OBJECT_TEXT(30) TYPE C,
NODE_DISABLE(1) TYPE C,
NODE_EXPAND(1) TYPE C,
NODE_IMAGE(46) TYPE c,
NODE_EXP_IMAGE(46) TYPE C,
FIELD_KEY(30) TYPE C,
SELECTED_KEY(30) TYPE C,
SELECTED_ITEM(30) TYPE C,
FIELD_COUNT(9) TYPE N,
TAG_VALUE(255) TYPE C,
TAG_1(255) TYPE C,
TAG_2(255) TYPE C,
PARENT_TAG_VALUE(50) TYPE C,
TEMP_VALUE(100) TYPE C,
COUNTER TYPE I,
IN_AREA(1) TYPE C,
STR_COUNTER TYPE STRING.
DATA: EVENT TYPE CNTL_SIMPLE_EVENT,
EVENTS TYPE CNTL_SIMPLE_EVENTS,
NODE_TABLE TYPE TREEV_NTAB,
ITEM_TABLE TYPE ITEM_TABLE_TYPE,
NODE TYPE TREEV_NODE,
ITEM TYPE MTREEITM,
ITAB_TREE_WA LIKE LINE OF ITAB_TREE,
NODE_WA LIKE LINE OF NODE_TABLE,
ITEM_WA LIKE LINE OF ITEM_TABLE,
OF_WA LIKE LINE OF ITAB_OF,
HIERARCHY_HEADER TYPE TREEV_HHDR.
FIELD-SYMBOLS: <FS_ITAB_TREE_ANY> TYPE ANY,
<FS_NODE_ANY> TYPE ANY,
<FS_OF_DESC> TYPE ANY.
CONSTANTS: BEGIN OF C_TRANSFORM,
TAB1 LIKE SY-UCOMM VALUE 'TRANSFORM_FC1',
TAB2 LIKE SY-UCOMM VALUE 'TRANSFORM_FC2',
END OF C_TRANSFORM.
*&SPWIZARD: DATA FOR TABSTRIP 'TRANSFORM'
CONTROLS: TRANSFORM TYPE TABSTRIP.
DATA: BEGIN OF G_TRANSFORM,
SUBSCREEN LIKE SY-DYNNR,
PROG LIKE SY-REPID VALUE 'ZSCSDM_MODIFY_TRANSFORM_V5',
PRESSED_TAB LIKE SY-UCOMM VALUE C_TRANSFORM-TAB1,
END OF G_TRANSFORM.
DATA: OK_CODE LIKE SY-UCOMM.
SCREEN 9001 FIELDS---------------------------------------------------*
TABLES: ZSCSDM_MO, ZSCSDM_OF, ZSCSDM_OS, ZSCSDM_REF.
DATA: REF_COND TYPE ZSCSDM_REF-REF_COND,
G_EDITOR_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
G_EDITOR TYPE REF TO CL_GUI_TEXTEDIT.
Rayden Dynamic generate ABAP Code.
SCREEN 9002 FIELDS---------------------------------------------------*
DATA: CODE_EDITOR_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
CODE_EDITOR TYPE REF TO CL_GUI_TEXTEDIT.
TYPES: BEGIN OF DYN_CODE,
LINE(255),
END OF DYN_CODE.
DATA: DYN_CODE_TABLE TYPE TABLE OF DYN_CODE.
INITIALIZATION-------------------------------------------------------*
DATA: INIT_MODE_9001 TYPE I VALUE 0. "0 = CREATE, 1 = EDIT
SCREEN 9001 PBO AND PAI---------------------------------------------------*
DATA: DETAILS_SCREEN(10) TYPE C VALUE 'Transform',
RETURN_RESULT TYPE CHAR9.
CONSTANTS: G_EDITOR_LENGTH TYPE I VALUE 255.
DATA: BEGIN OF G_EDITOR_LINE OCCURS 0,
REF_COND TYPE ZSCSDM_REF-REF_COND,
END OF G_EDITOR_LINE.
TYPES: BEGIN OF G_EDITOR_TABLE_LINE,
LINE(G_EDITOR_LENGTH) TYPE C,
END OF G_EDITOR_TABLE_LINE.
DATA: G_EDITOR_TABLE TYPE TABLE OF G_EDITOR_TABLE_LINE,
G_EDITOR_CONTENTS LIKE STANDARD TABLE OF LINE.
DATA: INSERT_COUNTER TYPE I, INSERT_VALUE(G_EDITOR_LENGTH) TYPE C.
*DATA: NONE_BLANK_COUNTER TYPE I, NONE_BLANK_CHECK(G_EDITOR_LENGTH) TYPE C,
INSERT_COUNTER TYPE I, INSERT_VALUE(G_EDITOR_LENGTH) TYPE C,
OFFSET_LEN_3AT TYPE I,OFFSET_LEN_DOT TYPE I.
SAVE STATUS (SUCCESS=S OR FAIL=F)------------------------------------*
DATA: SAVE_STATUS(1) TYPE C.
Rayden Tree Control Code.
CLASS CL_TREE DEFINITION
CLASS CL_TREE DEFINITION.
PUBLIC SECTION.
METHODS : HANDLE_ITEM_DOUBLE_CLICK
FOR EVENT ITEM_DOUBLE_CLICK
OF CL_GUI_COLUMN_TREE
IMPORTING NODE_KEY ITEM_NAME.
ENDCLASS. "CL_TREE DEFINITION
CLASS CL_TREE IMPLEMENTATION
CLASS CL_TREE IMPLEMENTATION.
METHOD HANDLE_ITEM_DOUBLE_CLICK.
SELECTED_KEY = NODE_KEY.
SELECTED_ITEM = ITEM_NAME.
CLEAR: TAG_VALUE.
PERFORM CLEAR_SCREEN.
IF ITEM_NAME = 'OBJECT'.
READ TABLE ITAB_TREE INTO ITAB_TREE_WA WITH KEY UNIKEY = SELECTED_KEY.
IF ITAB_TREE_WA-TYPE = 'OBJECT'.
ZSCSDM_MO-OBJECT_ID = ITAB_TREE_WA-NAME.
ZSCSDM_MO-OBJECT_DESC = ITAB_TREE_WA-DESC.
ENDIF.
IF ITAB_TREE_WA-TYPE = 'FILE'.
ZSCSDM_OF-FILE_NAME = ITAB_TREE_WA-NAME.
ZSCSDM_OF-FILE_DESC = ITAB_TREE_WA-DESC.
" Get the OBJECT of the FILE
SPLIT ITAB_TREE_WA-TAG AT 'T' INTO TAG_1 TAG_2.
READ TABLE ITAB_TREE INTO ITAB_TREE_WA WITH KEY TAG = TAG_1.
READ TABLE ITAB_TREE INTO ITAB_TREE_WA WITH KEY UNIKEY = ITAB_TREE_WA-PARENT.
ZSCSDM_MO-OBJECT_ID = ITAB_TREE_WA-NAME.
ZSCSDM_MO-OBJECT_DESC = ITAB_TREE_WA-DESC.
ENDIF.
IF ITAB_TREE_WA-TYPE = 'FIELD'.
ZSCSDM_OS-FIELD_NAME = ITAB_TREE_WA-NAME.
ZSCSDM_OS-FIELD_DESC = ITAB_TREE_WA-DESC.
" Get the FILE of the FIELD
SPLIT ITAB_TREE_WA-TAG AT 'F' INTO TAG_1 TAG_2.
READ TABLE ITAB_TREE INTO ITAB_TREE_WA WITH KEY TAG = TAG_1.
ZSCSDM_OF-FILE_NAME = ITAB_TREE_WA-NAME.
ZSCSDM_OF-FILE_DESC = ITAB_TREE_WA-DESC.
" Get the OBJECT of the FILE
SPLIT ITAB_TREE_WA-TAG AT 'T' INTO TAG_1 TAG_2.
READ TABLE ITAB_TREE INTO ITAB_TREE_WA WITH KEY TAG = TAG_1.
READ TABLE ITAB_TREE INTO ITAB_TREE_WA WITH KEY UNIKEY = ITAB_TREE_WA-PARENT.
ZSCSDM_MO-OBJECT_ID = ITAB_TREE_WA-NAME.
ZSCSDM_MO-OBJECT_DESC = ITAB_TREE_WA-DESC.
ENDIF.
ENDIF.
ENDMETHOD. "HANDLE_ITEM_DOUBLE_CLICK
ENDCLASS. "CL_TREE IMPLEMENTATION
PROCESSING BLOCK
======================================================================
INITIALIZATION.
PERFORM GET_MEMORY.
ZSCSDM_OS-TG_LAST_CHGED_BY = SY-UNAME.
ZSCSDM_OS-TG_LAST_CHGED_ON = SY-DATUM.
START-OF-SELECTION.
CREATE OBJECT TREE_APPLICATION.
CALL SCREEN 9000.
MODULE PBO_9000 OUTPUT
MODULE PBO_9000 OUTPUT.
IF G_TRANSFORM-PRESSED_TAB = 'TRANSFORM_FC1'.
SET PF-STATUS 'SCREEN_9000' EXCLUDING 'SYN'.
ELSEIF G_TRANSFORM-PRESSED_TAB = 'TRANSFORM_FC2'.
SET PF-STATUS 'SCREEN_9000'.
ENDIF.
SET TITLEBAR 'RWB_TRANSFORM'.
IF TREE IS INITIAL.
REPID = SY-REPID.
DYNNR = SY-DYNNR.
PERFORM INIT_TREE.
ENDIF.
ENDMODULE. "PBO_9000 OUTPUT
MODULE PBO_9001 OUTPUT
MODULE PBO_9001 OUTPUT.
IF INIT_MODE_9001 = 0. "ON FIRST LOAD
CREATE OBJECT G_EDITOR_CONTAINER
EXPORTING
CONTAINER_NAME = 'REF_COND'
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5.
CREATE OBJECT G_EDITOR
EXPORTING
PARENT = G_EDITOR_CONTAINER
WORDWRAP_MODE =
CL_GUI_TEXTEDIT=>WORDWRAP_OFF
CL_GUI_TEXTEDIT=>WORDWRAP_AT_FIXED_POSITION
CL_GUI_TEXTEDIT=>WORDWRAP_AT_WINDOWBORDER
WORDWRAP_POSITION = G_EDITOR_LENGTH
WORDWRAP_TO_LINEBREAK_MODE = CL_GUI_TEXTEDIT=>TRUE.
SELECT REF_COND INTO G_EDITOR_LINE FROM ZSCSDM_REF
WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = ZSCSDM_OF-FILE_NAME
AND FIELD_NAME = ZSCSDM_OS-FIELD_NAME AND REF_COND_TYPE = 'T'
AND REF_CON_ID = 1.
APPEND G_EDITOR_LINE-REF_COND TO G_EDITOR_TABLE.
ENDSELECT.
CALL METHOD G_EDITOR->SET_TEXT_AS_R3TABLE
EXPORTING
TABLE = G_EDITOR_TABLE.
CALL METHOD CL_GUI_CFW=>FLUSH.
REFRESH G_EDITOR_TABLE.
SELECT COUNT(*) INTO INIT_MODE_9001 FROM ZSCSDM_OS
WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = ZSCSDM_OF-FILE_NAME
AND FIELD_NAME = ZSCSDM_OS-FIELD_NAME AND TG_CREATED_BY <> ''.
IF INIT_MODE_9001 = 0. "CREATE MODE
INIT_MODE_9001 = 1.
ZSCSDM_OS-TG_CREATED_BY = SY-UNAME.
ZSCSDM_OS-TG_CREATED_ON = SY-DATUM.
ZSCSDM_OS-TG_STATUS = 'A'.
ZSCSDM_OS-TRANS_BY_DIRECT = 'X'.
ELSE. "UPDATE MODE
SELECT TG_CREATED_BY TG_CREATED_ON TG_LAST_CHGED_BY TG_LAST_CHGED_ON
TG_STATUS TRANS_BY_DIRECT TRANS_TABLE TRANS_FIELD
TRANS_BY_DEFAULT TRANS_DEF_VAL TRANS_BY_CONCAT
CONCAT_FIELD_1 CONCAT_FIELD_2 CONCAT_FIELD_3 CONCAT_FIELD_4 CONCAT_FIELD_5
CONCAT_FIELD_6 CONCAT_FIELD_7 CONCAT_FIELD_8 CONCAT_FIELD_9 CONCAT_FIELD_10
TRANS_BY_REF
INTO (ZSCSDM_OS-TG_CREATED_BY, ZSCSDM_OS-TG_CREATED_ON,
ZSCSDM_OS-TG_LAST_CHGED_BY, ZSCSDM_OS-TG_LAST_CHGED_ON,
ZSCSDM_OS-TG_STATUS, ZSCSDM_OS-TRANS_BY_DIRECT,
ZSCSDM_OS-TRANS_TABLE, ZSCSDM_OS-TRANS_FIELD,
ZSCSDM_OS-TRANS_BY_DEFAULT, ZSCSDM_OS-TRANS_DEF_VAL,
ZSCSDM_OS-TRANS_BY_CONCAT, ZSCSDM_OS-CONCAT_FIELD_1,
ZSCSDM_OS-CONCAT_FIELD_2, ZSCSDM_OS-CONCAT_FIELD_3,
ZSCSDM_OS-CONCAT_FIELD_4, ZSCSDM_OS-CONCAT_FIELD_5,
ZSCSDM_OS-CONCAT_FIELD_6, ZSCSDM_OS-CONCAT_FIELD_7,
ZSCSDM_OS-CONCAT_FIELD_8, ZSCSDM_OS-CONCAT_FIELD_9,
ZSCSDM_OS-CONCAT_FIELD_10, ZSCSDM_OS-TRANS_BY_REF) FROM ZSCSDM_OS
WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = ZSCSDM_OF-FILE_NAME
AND FIELD_NAME = ZSCSDM_OS-FIELD_NAME.
ENDSELECT.
ENDIF.
ENDIF.
PERFORM CHANGE_TRANSFORM_TYPE.
ENDMODULE. "PBO_9001 OUTPUT
*&SPWIZARD: OUTPUT MODULE FOR TS 'TRANSFORM'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: SETS ACTIVE TAB
MODULE TRANSFORM_ACTIVE_TAB_SET OUTPUT.
TRANSFORM-ACTIVETAB = G_TRANSFORM-PRESSED_TAB.
CASE G_TRANSFORM-PRESSED_TAB.
WHEN C_TRANSFORM-TAB1.
G_TRANSFORM-SUBSCREEN = '9001'.
WHEN C_TRANSFORM-TAB2.
G_TRANSFORM-SUBSCREEN = '9002'.
WHEN OTHERS.
*&SPWIZARD: DO NOTHING
ENDCASE.
ENDMODULE. "TRANSFORM_ACTIVE_TAB_SET OUTPUT
MODULE USER_COMMAND_9000 INPUT
MODULE USER_COMMAND_9000 INPUT.
CASE SY-UCOMM.
G_TRANSFORM-PRESSED_TAB = TRANSFORM-ACTIVETAB.
" IF G_TRANSFORM-PRESSED_TAB =
WHEN 'TRANSFORM_FC1'.
SET PF-STATUS 'SCREEN_9000' EXCLUDING 'SYN'.
MODIFY SCREEN.
WHEN 'TRANSFORM_FC2'.
SET PF-STATUS 'SCREEN_9000'.
MODIFY SCREEN.
WHEN 'EXIT' OR 'CANCEL'.
LEAVE PROGRAM.
WHEN 'BACK'.
CLEAR SY-UCOMM.
SAVE_STATUS = ''.
PERFORM SET_MEMORY.
SUBMIT ZSCSDM_RULES_ENGINE_NAV_V5.
WHEN 'SAVE'.
PERFORM GET_MEMORY_SAVE_STATUS.
IF SAVE_STATUS = 'S'.
PERFORM SET_MEMORY.
SUBMIT ZSCSDM_RULES_ENGINE_NAV_V5.
ELSE.
PERFORM SET_MEMORY_SAVE_STATUS_RESET.
ENDIF.
ENDCASE.
ENDMODULE. "USER_COMMAND_9000 INPUT
MODULE USER_COMMAND_9001 INPUT
MODULE USER_COMMAND_9001 INPUT.
CASE SY-UCOMM.
WHEN 'SAVE'.
CLEAR SY-UCOMM.
PERFORM CHANGE_TRANSFORM_TYPE.
PERFORM VALIDATE_DIRECT_FIELD.
PERFORM VALIDATE_CONCAT_FIELD.
PERFORM SAVE_TRANSFORM_TYPE.
SELECT FIELD_STATUS CREATED_BY CREATED_ON LAST_CHGED_BY LAST_CHGED_ON
COLUMN_NO KEY_FIELD SEARCH_HELP HASH_TOTAL_IND
VG_CREATED_BY VG_CREATED_ON VG_LAST_CHGED_BY VG_LAST_CHGED_ON
CHECK_DATA_TYPE DT_ERR_TEXT LN_ERR_TEXT DP_ERR_TEXT SN_ERR_TEXT
FIELD_DOMAIN FIELD_DATA_TYPE FIELD_LENGTH FIELD_DECIMAL
FIELD_NEGATIVE DOMAIN_POSS_VAL DOMAIN_ERR_TEXT
MAND_OPT MAND_ERR_TEXT UNIQUE_CHECK UNIQUE_ERR_TEXT
INTO (ZSCSDM_OS-FIELD_STATUS, ZSCSDM_OS-CREATED_BY, ZSCSDM_OS-CREATED_ON,
ZSCSDM_OS-LAST_CHGED_BY, ZSCSDM_OS-LAST_CHGED_ON,
ZSCSDM_OS-COLUMN_NO, ZSCSDM_OS-KEY_FIELD,
ZSCSDM_OS-SEARCH_HELP, ZSCSDM_OS-HASH_TOTAL_IND,
ZSCSDM_OS-VG_CREATED_BY, ZSCSDM_OS-VG_CREATED_ON,
ZSCSDM_OS-VG_LAST_CHGED_BY, ZSCSDM_OS-VG_LAST_CHGED_ON,
ZSCSDM_OS-CHECK_DATA_TYPE, ZSCSDM_OS-DT_ERR_TEXT,
ZSCSDM_OS-LN_ERR_TEXT, ZSCSDM_OS-DP_ERR_TEXT,
ZSCSDM_OS-SN_ERR_TEXT, ZSCSDM_OS-FIELD_DOMAIN,
ZSCSDM_OS-FIELD_DATA_TYPE, ZSCSDM_OS-FIELD_LENGTH,
ZSCSDM_OS-FIELD_DECIMAL, ZSCSDM_OS-FIELD_NEGATIVE,
ZSCSDM_OS-DOMAIN_POSS_VAL, ZSCSDM_OS-DOMAIN_ERR_TEXT,
ZSCSDM_OS-MAND_OPT, ZSCSDM_OS-MAND_ERR_TEXT,
ZSCSDM_OS-UNIQUE_CHECK, ZSCSDM_OS-UNIQUE_ERR_TEXT) FROM ZSCSDM_OS
WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = ZSCSDM_OF-FILE_NAME
AND FIELD_NAME = ZSCSDM_OS-FIELD_NAME.
ENDSELECT.
CALL FUNCTION 'ZSCSDM_FM_RULES_ENGINE_MODIFY'
EXPORTING
IN_OBJECT_ID = ZSCSDM_MO-OBJECT_ID
IN_FILE_NAME = ZSCSDM_OF-FILE_NAME
IN_FIELD_NAME = ZSCSDM_OS-FIELD_NAME
IN_FIELD_DESC = ZSCSDM_OS-FIELD_DESC
IN_FIELD_STATUS = ZSCSDM_OS-FIELD_STATUS
IN_CREATED_BY = ZSCSDM_OS-CREATED_BY
IN_CREATED_ON = ZSCSDM_OS-CREATED_ON
IN_LAST_CHGED_BY = ZSCSDM_OS-LAST_CHGED_BY
IN_LAST_CHGED_ON = ZSCSDM_OS-LAST_CHGED_ON
IN_COLUMN_NO = ZSCSDM_OS-COLUMN_NO
IN_KEY_FIELD = ZSCSDM_OS-KEY_FIELD
IN_SEARCH_HELP = ZSCSDM_OS-SEARCH_HELP
IN_HASH_TOTAL_IND = ZSCSDM_OS-HASH_TOTAL_IND
IN_VG_CREATED_BY = ZSCSDM_OS-VG_CREATED_BY
IN_VG_CREATED_ON = ZSCSDM_OS-VG_CREATED_ON
IN_VG_LAST_CHGED_BY = ZSCSDM_OS-VG_LAST_CHGED_BY
IN_VG_LAST_CHGED_ON = ZSCSDM_OS-VG_LAST_CHGED_ON
IN_CHECK_DATA_TYPE = ZSCSDM_OS-CHECK_DATA_TYPE
IN_DT_ERR_TEXT = ZSCSDM_OS-DT_ERR_TEXT
IN_LN_ERR_TEXT = ZSCSDM_OS-LN_ERR_TEXT
IN_DP_ERR_TEXT = ZSCSDM_OS-DP_ERR_TEXT
IN_SN_ERR_TEXT = ZSCSDM_OS-SN_ERR_TEXT
IN_FIELD_DOMAIN = ZSCSDM_OS-FIELD_DOMAIN
IN_FIELD_DATA_TYPE = ZSCSDM_OS-FIELD_DATA_TYPE
IN_FIELD_LENGTH = ZSCSDM_OS-FIELD_LENGTH
IN_FIELD_DECIMAL = ZSCSDM_OS-FIELD_DECIMAL
IN_FIELD_NEGATIVE = ZSCSDM_OS-FIELD_NEGATIVE
IN_DOMAIN_POSS_VAL = ZSCSDM_OS-DOMAIN_POSS_VAL
IN_DOMAIN_ERR_TEXT = ZSCSDM_OS-DOMAIN_ERR_TEXT
IN_MAND_OPT = ZSCSDM_OS-MAND_OPT
IN_MAND_ERR_TEXT = ZSCSDM_OS-MAND_ERR_TEXT
IN_UNIQUE_CHECK = ZSCSDM_OS-UNIQUE_CHECK
IN_UNIQUE_ERR_TEXT = ZSCSDM_OS-UNIQUE_ERR_TEXT
IN_TG_CREATED_BY = ZSCSDM_OS-TG_CREATED_BY
IN_TG_CREATED_ON = ZSCSDM_OS-TG_CREATED_ON
IN_TG_LAST_CHGED_BY = ZSCSDM_OS-TG_LAST_CHGED_BY
IN_TG_LAST_CHGED_ON = ZSCSDM_OS-TG_LAST_CHGED_ON
IN_TG_STATUS = ZSCSDM_OS-TG_STATUS
IN_TRANS_BY_DIRECT = ZSCSDM_OS-TRANS_BY_DIRECT
IN_TRANS_TABLE = ZSCSDM_OS-TRANS_TABLE
IN_TRANS_FIELD = ZSCSDM_OS-TRANS_FIELD
IN_TRANS_BY_DEFAULT = ZSCSDM_OS-TRANS_BY_DEFAULT
IN_TRANS_DEF_VAL = ZSCSDM_OS-TRANS_DEF_VAL
IN_TRANS_BY_CONCAT = ZSCSDM_OS-TRANS_BY_CONCAT
IN_CONCAT_FIELD_1 = ZSCSDM_OS-CONCAT_FIELD_1
IN_CONCAT_FIELD_2 = ZSCSDM_OS-CONCAT_FIELD_2
IN_CONCAT_FIELD_3 = ZSCSDM_OS-CONCAT_FIELD_3
IN_CONCAT_FIELD_4 = ZSCSDM_OS-CONCAT_FIELD_4
IN_CONCAT_FIELD_5 = ZSCSDM_OS-CONCAT_FIELD_5
IN_CONCAT_FIELD_6 = ZSCSDM_OS-CONCAT_FIELD_6
IN_CONCAT_FIELD_7 = ZSCSDM_OS-CONCAT_FIELD_7
IN_CONCAT_FIELD_8 = ZSCSDM_OS-CONCAT_FIELD_8
IN_CONCAT_FIELD_9 = ZSCSDM_OS-CONCAT_FIELD_9
IN_CONCAT_FIELD_10 = ZSCSDM_OS-CONCAT_FIELD_10
IN_TRANS_BY_REF = ZSCSDM_OS-TRANS_BY_REF
IMPORTING
OUT_RESULT = RETURN_RESULT.
IF RETURN_RESULT = 'SUCCESS'.
MESSAGE S001(ZSCSDM_DMT).
IF ZSCSDM_OS-TRANS_BY_REF = 'X'.
NONE_BLANK_COUNTER = 0.
INSERT_COUNTER = 1.
DELETE FROM ZSCSDM_REF WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = ZSCSDM_OF-FILE_NAME
AND FIELD_NAME = ZSCSDM_OS-FIELD_NAME AND REF_COND_TYPE = 'T' AND
REF_CON_ID = 1.
CALL METHOD G_EDITOR->GET_TEXT_AS_R3TABLE
IMPORTING
TABLE = G_EDITOR_CONTENTS.
LOOP AT G_EDITOR_CONTENTS INTO NONE_BLANK_CHECK.
IF NONE_BLANK_CHECK <> ''.
NONE_BLANK_COUNTER = NONE_BLANK_COUNTER + 1.
ENDIF.
ENDLOOP.
CLEAR INSERT_VALUE.
LOOP AT G_EDITOR_CONTENTS INTO INSERT_VALUE.
IF INSERT_VALUE <> ''.
ZSCSDM_REF-OBJECT_ID = ZSCSDM_MO-OBJECT_ID.
ZSCSDM_REF-FILE_NAME = ZSCSDM_OF-FILE_NAME.
ZSCSDM_REF-FIELD_NAME = ZSCSDM_OS-FIELD_NAME.
ZSCSDM_REF-REF_COND_TYPE = 'T'.
ZSCSDM_REF-REF_CON_ID = 1.
ZSCSDM_REF-REF_COND_ROW = INSERT_COUNTER.
ZSCSDM_REF-CREATED_BY = ZSCSDM_OS-CREATED_BY.
ZSCSDM_REF-CREATED_ON = ZSCSDM_OS-VG_CREATED_ON.
ZSCSDM_REF-LAST_CHANGED_BY = ZSCSDM_OS-VG_LAST_CHGED_BY.
ZSCSDM_REF-LAST_CHANGED_ON = ZSCSDM_OS-TG_LAST_CHGED_ON.
ZSCSDM_REF-REF_RULE_STATUS = ZSCSDM_OS-TG_STATUS.
ZSCSDM_REF-NOT_EXIST_IND = ''.
ZSCSDM_REF-REF_COND = INSERT_VALUE.
ZSCSDM_REF-REF_ERR_TEXT = 'Reference Error: The reference condition did not return any results.'.
INSERT INTO ZSCSDM_REF VALUES ZSCSDM_REF.
IF INSERT_COUNTER = NONE_BLANK_COUNTER.
OFFSET_LEN_3AT = STRLEN( INSERT_VALUE ) - STRLEN( '@@@' ).
IF OFFSET_LEN_3AT >= 0.
IF INSERT_VALUE+OFFSET_LEN_3AT(3) NE '@@@'.
OFFSET_LEN_DOT = STRLEN( INSERT_VALUE ) - STRLEN( `.` ).
INSERT_COUNTER = INSERT_COUNTER + 1.
ZSCSDM_REF-OBJECT_ID = ZSCSDM_MO-OBJECT_ID.
ZSCSDM_REF-FILE_NAME = ZSCSDM_OF-FILE_NAME.
ZSCSDM_REF-FIELD_NAME = ZSCSDM_OS-FIELD_NAME.
ZSCSDM_REF-REF_COND_TYPE = 'T'.
ZSCSDM_REF-REF_CON_ID = 1.
ZSCSDM_REF-REF_COND_ROW = INSERT_COUNTER.
ZSCSDM_REF-CREATED_BY = ZSCSDM_OS-CREATED_BY.
ZSCSDM_REF-CREATED_ON = ZSCSDM_OS-VG_CREATED_ON.
ZSCSDM_REF-LAST_CHANGED_BY = ZSCSDM_OS-VG_LAST_CHGED_BY.
ZSCSDM_REF-LAST_CHANGED_ON = ZSCSDM_OS-TG_LAST_CHGED_ON.
ZSCSDM_REF-REF_RULE_STATUS = ZSCSDM_OS-TG_STATUS.
ZSCSDM_REF-NOT_EXIST_IND = ''.
ZSCSDM_REF-REF_ERR_TEXT = 'Reference Error: The reference condition did not return any results.'.
IF INSERT_VALUE+OFFSET_LEN_DOT(1) EQ '.'.
ZSCSDM_REF-REF_COND = '@@@'.
ELSE.
ZSCSDM_REF-REF_COND = '.@@@'.
ENDIF.
ENDIF.
ELSE.
OFFSET_LEN_DOT = STRLEN( INSERT_VALUE ) - STRLEN( `.` ).
INSERT_COUNTER = INSERT_COUNTER + 1.
ZSCSDM_REF-OBJECT_ID = ZSCSDM_MO-OBJECT_ID.
ZSCSDM_REF-FILE_NAME = ZSCSDM_OF-FILE_NAME.
ZSCSDM_REF-FIELD_NAME = ZSCSDM_OS-FIELD_NAME.
ZSCSDM_REF-REF_COND_TYPE = 'T'.
ZSCSDM_REF-REF_CON_ID = 1.
ZSCSDM_REF-REF_COND_ROW = INSERT_COUNTER.
ZSCSDM_REF-CREATED_BY = ZSCSDM_OS-CREATED_BY.
ZSCSDM_REF-CREATED_ON = ZSCSDM_OS-VG_CREATED_ON.
ZSCSDM_REF-LAST_CHANGED_BY = ZSCSDM_OS-VG_LAST_CHGED_BY.
ZSCSDM_REF-LAST_CHANGED_ON = ZSCSDM_OS-TG_LAST_CHGED_ON.
ZSCSDM_REF-REF_RULE_STATUS = ZSCSDM_OS-TG_STATUS.
ZSCSDM_REF-NOT_EXIST_IND = ''.
ZSCSDM_REF-REF_ERR_TEXT = 'Reference Error: The reference condition did not return any results.'.
IF INSERT_VALUE+OFFSET_LEN_DOT(1) EQ '.'.
ZSCSDM_REF-REF_COND = '@@@'.
ELSE.
ZSCSDM_REF-REF_COND = '.@@@'.
ENDIF.
ENDIF.
INSERT INTO ZSCSDM_REF VALUES ZSCSDM_REF.
ENDIF.
INSERT_COUNTER = INSERT_COUNTER + 1.
ENDIF.
ENDLOOP.
ELSE.
DELETE FROM ZSCSDM_REF WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = ZSCSDM_OF-FILE_NAME
AND FIELD_NAME = ZSCSDM_OS-FIELD_NAME AND REF_COND_TYPE = 'T' AND
REF_CON_ID = 1.
ENDIF.
SAVE_STATUS = 'S'.
PERFORM SET_MEMORY_SAVE_STATUS.
SAVE_STATUS = ''.
ELSE.
SAVE_STATUS = 'F'.
PERFORM SET_MEMORY_SAVE_STATUS.
SAVE_STATUS = ''.
MESSAGE E101(ZSCSDM_DMT).
ENDIF.
ENDCASE.
ENDMODULE. "USER_COMMAND_9001 INPUT
*&SPWIZARD: INPUT MODULE FOR TS 'TRANSFORM'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: GETS ACTIVE TAB
MODULE TRANSFORM_ACTIVE_TAB_GET INPUT.
OK_CODE = SY-UCOMM.
CASE OK_CODE.
WHEN C_TRANSFORM-TAB1.
G_TRANSFORM-PRESSED_TAB = C_TRANSFORM-TAB1.
WHEN C_TRANSFORM-TAB2.
G_TRANSFORM-PRESSED_TAB = C_TRANSFORM-TAB2.
WHEN OTHERS.
*&SPWIZARD: DO NOTHING
ENDCASE.
ENDMODULE. "TRANSFORM_ACTIVE_TAB_GET INPUT
MODULE STATUS_9002 OUTPUT
MODULE STATUS_9002 OUTPUT.
IF CODE_EDITOR IS INITIAL.
CREATE OBJECT CODE_EDITOR_CONTAINER
EXPORTING
CONTAINER_NAME = 'GEN_CODE'
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5.
CREATE OBJECT CODE_EDITOR
EXPORTING
PARENT = CODE_EDITOR_CONTAINER
WORDWRAP_MODE =
CL_GUI_TEXTEDIT=>WORDWRAP_OFF
CL_GUI_TEXTEDIT=>WORDWRAP_AT_FIXED_POSITION
CL_GUI_TEXTEDIT=>WORDWRAP_AT_WINDOWBORDER
WORDWRAP_POSITION = G_EDITOR_LENGTH
WORDWRAP_TO_LINEBREAK_MODE = CL_GUI_TEXTEDIT=>TRUE.
ENDIF.
ENDMODULE. "STATUS_9002 OUTPUT
MODULE USER_COMMAND_9002 INPUT
MODULE USER_COMMAND_9002 INPUT.
ENDMODULE. "USER_COMMAND_9002 INPUT
MODULE F4_INPUT INPUT
MODULE F4_INPUT INPUT.
TYPES: BEGIN OF VALUES,
FIELD_NAME TYPE ZSCSDM_OS-FIELD_NAME,
FIELD_DESC TYPE ZSCSDM_OS-FIELD_DESC,
END OF VALUES.
DATA: PROGNAME TYPE SY-REPID, DYNNUM TYPE SY-DYNNR.
DATA: FILENAME_A TYPE ZSCSDM_OS-FILE_NAME,
F4_VALUES TYPE TABLE OF VALUES.
PROGNAME = SY-REPID.
DYNNUM = SY-DYNNR.
SELECT FILE_NAME INTO (FILENAME_A) FROM ZSCSDM_OF
WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME_TRANS = ZSCSDM_OF-FILE_NAME.
ENDSELECT.
SELECT FIELD_NAME FIELD_DESC FROM ZSCSDM_OS
INTO CORRESPONDING FIELDS OF TABLE F4_VALUES
WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = FILENAME_A
AND FIELD_STATUS = 'A'.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'FIELD_NAME'
DYNPPROG = PROGNAME
DYNPNR = DYNNUM
DYNPROFIELD = 'ZSCSDM_OS-TRANS_FIELD'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = F4_VALUES.
ENDMODULE. "F4_INPUT INPUT
*& Form GET_MEMORY
text
FORM GET_MEMORY.
DATA: MEM_STR(40) TYPE C, SY_MOD(2) TYPE C.
SY_MOD = SY-MODNO.
CONDENSE SY_MOD NO-GAPS.
CONCATENATE 'TraObjectID-' SY-UNAME '-' SY_MOD INTO MEM_STR.
IMPORT ZSCSDM_MO-OBJECT_ID FROM MEMORY ID MEM_STR.
FREE MEMORY ID MEM_STR.
CLEAR MEM_STR.
CONCATENATE 'TraObjectDesc-' SY-UNAME '-' SY_MOD INTO MEM_STR.
IMPORT ZSCSDM_MO-OBJECT_DESC FROM MEMORY ID MEM_STR.
FREE MEMORY ID MEM_STR.
CLEAR MEM_STR.
CONCATENATE 'TraFileName-' SY-UNAME '-' SY_MOD INTO MEM_STR.
IMPORT ZSCSDM_OF-FILE_NAME FROM MEMORY ID MEM_STR.
FREE MEMORY ID MEM_STR.
CLEAR MEM_STR.
CONCATENATE 'TraFileDesc-' SY-UNAME '-' SY_MOD INTO MEM_STR.
IMPORT ZSCSDM_OF-FILE_DESC FROM MEMORY ID MEM_STR.
FREE MEMORY ID MEM_STR.
CLEAR MEM_STR.
CONCATENATE 'TraFieldName-' SY-UNAME '-' SY_MOD INTO MEM_STR.
IMPORT ZSCSDM_OS-FIELD_NAME FROM MEMORY ID MEM_STR.
FREE MEMORY ID MEM_STR.
CLEAR MEM_STR.
CONCATENATE 'TraFieldDesc-' SY-UNAME '-' SY_MOD INTO MEM_STR.
IMPORT ZSCSDM_OS-FIELD_DESC FROM MEMORY ID MEM_STR.
FREE MEMORY ID MEM_STR.
CLEAR MEM_STR.
ENDFORM. "GET_MEMORY
*& Form GET_MEMORY_SAVE_STATUS
text
FORM GET_MEMORY_SAVE_STATUS.
DATA: MEM_STR(40) TYPE C, SY_MOD(2) TYPE C.
DATA: CHECK_SAVE_STATUS(1) TYPE C.
SY_MOD = SY-MODNO.
CONDENSE SY_MOD NO-GAPS.
CONCATENATE 'Save-' SY-UNAME '-' SY_MOD INTO MEM_STR.
IMPORT CHECK_SAVE_STATUS FROM MEMORY ID MEM_STR.
FREE MEMORY ID MEM_STR.
CLEAR MEM_STR.
SAVE_STATUS = CHECK_SAVE_STATUS.
ENDFORM. "GET_MEMORY_SAVE_STATUS
*& Form SET_MEMORY
text
FORM SET_MEMORY.
DATA: MEM_STR(40) TYPE C, SY_MOD(2) TYPE C.
SY_MOD = SY-MODNO.
CONDENSE SY_MOD NO-GAPS.
CONCATENATE 'DtlScreen-' SY-UNAME '-' SY_MOD INTO MEM_STR.
FREE MEMORY ID MEM_STR.
EXPORT DETAILS_SCREEN TO MEMORY ID MEM_STR.
CLEAR MEM_STR.
CONCATENATE 'TraObjectID1-' SY-UNAME '-' SY_MOD INTO MEM_STR.
FREE MEMORY ID MEM_STR.
EXPORT ZSCSDM_MO-OBJECT_ID TO MEMORY ID MEM_STR.
CLEAR MEM_STR.
CONCATENATE 'TraObjectDesc1-' SY-UNAME '-' SY_MOD INTO MEM_STR.
FREE MEMORY ID MEM_STR.
EXPORT ZSCSDM_MO-OBJECT_DESC TO MEMORY ID MEM_STR.
CLEAR MEM_STR.
CONCATENATE 'TraFileName1-' SY-UNAME '-' SY_MOD INTO MEM_STR.
FREE MEMORY ID MEM_STR.
EXPORT ZSCSDM_OF-FILE_NAME TO MEMORY ID MEM_STR.
CLEAR MEM_STR.
CONCATENATE 'TraFileDesc1-' SY-UNAME '-' SY_MOD INTO MEM_STR.
FREE MEMORY ID MEM_STR.
EXPORT ZSCSDM_OF-FILE_DESC TO MEMORY ID MEM_STR.
CLEAR MEM_STR.
CONCATENATE 'TraFieldName1-' SY-UNAME '-' SY_MOD INTO MEM_STR.
FREE MEMORY ID MEM_STR.
EXPORT ZSCSDM_OS-FIELD_NAME TO MEMORY ID MEM_STR.
CLEAR MEM_STR.
CONCATENATE 'TraFieldDesc1-' SY-UNAME '-' SY_MOD INTO MEM_STR.
FREE MEMORY ID MEM_STR.
EXPORT ZSCSDM_OS-FIELD_DESC TO MEMORY ID MEM_STR.
CLEAR MEM_STR.
ENDFORM. "SET_MEMORY
*& Form SET_MEMORY_SAVE_STATUS
text
FORM SET_MEMORY_SAVE_STATUS.
DATA: MEM_STR(40) TYPE C, SY_MOD(2) TYPE C.
DATA: CHECK_SAVE_STATUS(1) TYPE C.
SY_MOD = SY-MODNO.
CONDENSE SY_MOD NO-GAPS.
CONCATENATE 'Save-' SY-UNAME '-' SY_MOD INTO MEM_STR.
IMPORT CHECK_SAVE_STATUS FROM MEMORY ID MEM_STR.
IF CHECK_SAVE_STATUS <> 'F'.
FREE MEMORY ID MEM_STR.
CHECK_SAVE_STATUS = SAVE_STATUS.
EXPORT CHECK_SAVE_STATUS TO MEMORY ID MEM_STR.
ENDIF.
CLEAR MEM_STR.
ENDFORM. "SET_MEMORY_SAVE_STATUS
*& Form SET_MEMORY_SAVE_STATUS_RESET
text
FORM SET_MEMORY_SAVE_STATUS_RESET.
DATA: MEM_STR(40) TYPE C, SY_MOD(2) TYPE C.
DATA: CHECK_SAVE_STATUS(1) TYPE C.
SY_MOD = SY-MODNO.
CONDENSE SY_MOD NO-GAPS.
CONCATENATE 'Save-' SY-UNAME '-' SY_MOD INTO MEM_STR.
FREE MEMORY ID MEM_STR.
CHECK_SAVE_STATUS = ''.
EXPORT CHECK_SAVE_STATUS TO MEMORY ID MEM_STR.
CLEAR MEM_STR.
ENDFORM. "SET_MEMORY_SAVE_STATUS_RESET
*& Form CHANGE_TRANSFORM_TYPE
text
FORM CHANGE_TRANSFORM_TYPE.
IF ZSCSDM_OS-TRANS_BY_DIRECT = 'X'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'ZSCSDM_OS-TRANS_FIELD'.
SCREEN-INPUT = '1'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-TRANS_DEF_VAL'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_1'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_2'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_3'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_4'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_5'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_6'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_7'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_8'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_9'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_10'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
CALL METHOD G_EDITOR->SET_READONLY_MODE
EXPORTING
READONLY_MODE = CL_GUI_TEXTEDIT=>TRUE.
SET CURSOR FIELD 'ZSCSDM_OS-TRANS_FIELD'.
ELSEIF ZSCSDM_OS-TRANS_BY_DEFAULT = 'X'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'ZSCSDM_OS-TRANS_FIELD'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-TRANS_DEF_VAL'.
SCREEN-INPUT = '1'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_1'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_2'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_3'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_4'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_5'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_6'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_7'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_8'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_9'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_10'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
CALL METHOD G_EDITOR->SET_READONLY_MODE
EXPORTING
READONLY_MODE = CL_GUI_TEXTEDIT=>TRUE.
SET CURSOR FIELD 'ZSCSDM_OS-TRANS_DEF_VAL'.
ELSEIF ZSCSDM_OS-TRANS_BY_CONCAT = 'X'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'ZSCSDM_OS-TRANS_FIELD'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-TRANS_DEF_VAL'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_1'.
SCREEN-INPUT = '1'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_2'.
SCREEN-INPUT = '1'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_3'.
SCREEN-INPUT = '1'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_4'.
SCREEN-INPUT = '1'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_5'.
SCREEN-INPUT = '1'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_6'.
SCREEN-INPUT = '1'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_7'.
SCREEN-INPUT = '1'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_8'.
SCREEN-INPUT = '1'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_9'.
SCREEN-INPUT = '1'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_10'.
SCREEN-INPUT = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
CALL METHOD G_EDITOR->SET_READONLY_MODE
EXPORTING
READONLY_MODE = CL_GUI_TEXTEDIT=>TRUE.
SET CURSOR FIELD 'ZSCSDM_OS-CONCAT_FIELD_1'.
ELSEIF ZSCSDM_OS-TRANS_BY_REF = 'X'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'ZSCSDM_OS-TRANS_FIELD'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-TRANS_DEF_VAL'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_1'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_2'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_3'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_4'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_5'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_6'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_7'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_8'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_9'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_10'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
CALL METHOD G_EDITOR->SET_READONLY_MODE
EXPORTING
READOHello Swathi
I have never used method SET_USER_COMMAND (cl_gui_alv_grid) before so I do not really know its function.
However, you event handler FORM routine belongs to the old-fashioned fm-based ALV lists (e.g. REUSE_ALV_GRID_DISPLAY_LVC) so I doubt whether this will work together.
If you have define a column as HOTSPOT then this trigger the class event HOTSPOT_CLICK.
Correspondingly a double-click on the ALV grid triggers event DOUBLE_CLICK.
For a sample report regarding ALV event handling have a look at the links provided in
2 ALVS IN ONE SCREEN
Regards
Uwe
Maybe you are looking for
-
1. Can anyone explain where all my songs went?- I cannot find them in the music on my computer or on the itunes listings. 2. When I ask for the list of all music that I have purchased from the iTunes store - it is not the full list. 3. Also some
-
External links in TOC not opening in separate instance of IE after convert to RH7
We converted our FlashHelp project from RoboHelp 6 to RoboHelp 7. External links in table of contents were set in the Advance tab to open in a New Window. This worked fine in RH5 and RH6 but when converted to RH7, the external link opens in the topic
-
Hi, As yet, I'm only previewing my impending website. Doing so, I'm noticing that once I upload using the "Publish to Folder" -- the wrong (domain.sites2) folder ends up being the one published. I actually haven't created two websites but only one. I
-
Wrong rendering by Firefox' built-in PDF viewer
There seems to be a render issue when opening this PDF: http://www.gp.org/real-difference/the-real-difference.pdf At the bottom it shows: WWW.GP.o RG While in other PDF viewers it simply shows: WWW.GP.ORG
-
Can't send outgoing messages using hotmail on iPhone 4
Help! I've just switched from iPhone 3 (where I used my hotmail with no probs) to iPhone 4 and have been setting it up as I had it before. I've added my hotmail account and incoming emails are received but it won't let me send outgoing mail. It keeps