Double clikc on the field in module pool
when i double click on the field then it should go to another screen in module pool? <removed_by_moderator>.
Edited by: Julius Bussche on Jul 20, 2008 10:52 AM
Hi Krishna,
in the PBO of main screen
set the pf status
and in the pf status
in freely assigned function keys assign FCT code PICK for key F2
In PAI of main screen
in
CASE SY-UCOMM.
when 'PICK'.
<code>
call screen <screen number>
ENDCASE.
regards
prasanth
Similar Messages
-
How to delete the row in table control with respect to one field in module pool programming?
Hi,
Can I know the way to delete the row in table control with respect to one field in module pool programming
Regards
Darshan MSHI,
I want to delete the row after the display of table control. I have created push button as delete row. If I click on this push button, the selected row should get deleted.
I have written this code,
module USER_COMMAND_9000 input.
DATA OK_CODE TYPE SY-UCOMM.
OK_CODE = SY-UCOMM.
CASE OK_CODE.
WHEN 'DELETE'.
LOOP AT lt_source INTO ls_source WHERE mark = 'X'.
APPEND LS_SOURCE TO LT_RESTORE.
DELETE TABLE LT_SOURCE FROM LS_SOURCE.
SOURCE-LINES = SOURCE-LINES - 1.
ENDLOOP.
But I'm unable to delete the selected rows, It is getting deleted the last rows eventhough I select the other row.
So I thought of doing with respect to the field. -
F4 help for the screen fields in module pool program
Hi All,
I have a requirement that, i want to provide F4 help for the 2 fields in module pool program. the fields are document number and fiscal year from rbkp table.
i could provide search help for two fields.
but how to select matching fiscal year for that document number.
problem: i am getting fiscal year as first four digits of document number.
please help me to solve this problem.
Thanks & Regards,
Namratha.VHi,
If your requirement is after selecting the document no from f4 help then the corresponding year should be updated in the document year field then use FM --> DYNP_VALUES_UPDATE
In this function module pass the screen no program & field for which u want to update value -
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 -
F1 help on a field in module pool programming
I want to create f1 help on a field in module pool programming. How to use POH event. where should i write the help documentation. Before using this f1 help on a field i have to set some properties on GUI interface Editor. Please clearly mention the steps i have to follow.
PROCESS ON HELP-REQUEST.
FIELD P_LFA1 MODULE HELP_F1_LIFNR.
MODULE HELP_F1_LIFNR INPUT.
PERFORM SHOW_HELP_F1 USING 'ZFAG_DOC1'.
ENDMODULE. " help_f1_lifnr INPUT
FORM SHOW_HELP_F1 USING P_OBJECT.
Dati testo help
DATA: T_LINE LIKE TLINE OCCURS 0,
XHEAD LIKE THEAD,
HELP_INFO LIKE HELP_INFO,
TEXC LIKE SY-UCOMM OCCURS 0,
V_OBJECT LIKE DOKHL-OBJECT.
Costante
DATA: PREF_SIMG(4) VALUE 'SIMG',
DOCID_HY LIKE DOKHL-ID VALUE 'HY'.
Testo
CONCATENATE PREF_SIMG P_OBJECT INTO V_OBJECT.
Estrazione testo
CALL FUNCTION 'DOCU_GET_FOR_F1HELP'
EXPORTING
ID = DOCID_HY
LANGU = SY-LANGU
OBJECT = V_OBJECT
IMPORTING
HEAD = XHEAD
TABLES
LINE = T_LINE
EXCEPTIONS
RET_CODE = 1
OTHERS = 2.
CASE SY-SUBRC .
WHEN 0.
Visualizzazione testo
GET CURSOR FIELD HELP_INFO-DYNPROFLD.
HELP_INFO-DOCUID = DOCID_HY.
HELP_INFO-DOCUOBJECT = V_OBJECT.
HELP_INFO-SPRAS = SY-LANGU.
HELP_INFO-PROGRAM = SY-REPID.
HELP_INFO-DYNPRO = SY-DYNNR.
HELP_INFO-DYNPPROG = SY-REPID.
HELP_INFO-PFKEY = SY-PFKEY.
HELP_INFO-FIELDNAME = HELP_INFO-DYNPROFLD.
CALL FUNCTION 'HELP_DOCULINES_SHOW'
EXPORTING
HELP_INFOS = HELP_INFO
OVERLAY_HEADER = XHEAD
TABLES
EXCLUDEFUN = TEXC
HELPLINES = T_LINE.
WHEN OTHERS. MESSAGE S720(SH).
ENDCASE.
ENDFORM. " SHOW_HELP_F1 -
Problem with I/O field in module pool
hi experts,
I am displaying some text in I/O field in module pool screen. I am giving the attributes of I/O field as "output only" type and no input. Initially the input was not enabled for it, only it should be in display mode. Once i click on 'CHANGE' pushbutton then only the input should be enabled and it should be in change mode.will u tell me how to do it programatically.HI,
In PAI of that screen..
when the sy-ucom is 'Change' then use the Loop at screen--Endloop to modify the attributes value.
example..
LOOP AT screen
CASE screen-name.
WHEN 'Fieldname.
screen-input = 0.
screen-active = 0.
MODIFY screen.
ENDCASE.
Edited by: avinash kodarapu on Dec 10, 2008 12:16 PM -
How to do ICON_EXPAND and ICON_COLLAPSE input fields in module pool screen?
hi frnds.
My problem is in module pool screen how to do ICON_EXPAND and ICON_COLLAPSE input fields in module pool screen?And how to do GUI STATUS and GUI TITLE? IN SE80.
ITS URGENT.POINTS WILL BE REWADED.THANKS IN ADVANCE.Hi,
Go through this thread.
[expand and collapse|expand and collapse]
Cheers,
Simha. -
How to set the size of the screen in module pool.
how to edit the actual size of the screen in module pool programing.
Hi purshothaman,
1. use the FM RPY_DYNPRO_READ
2. Pass the programname and screen number
3. We will get back various values in HEADER structure
LINES
COLUMNS
regards,
amit m. -
COPY THE STANDARD SAP MODULE POOL PROGRAM
HOW I CAN COPY THE STANDARD SAP MODULE POOL PROGRAM ((INCLUDING SCREENS) INTO Z REPORT?
Hi,
Go to transactionSE38 ABAP Editor.Type the program name.Click copy.It will ask whether you want copy documentation,screens,etc.,
Check mark it. -
What are the events in Module Pool Programming ?
hi,
what are the events in Module Pool Programming ???
thxRefer the following links :
http://www.sapdevelopment.co.uk/dialog/dialoghome.htm
http://help.sap.com/saphelp_webas630/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/content.htm
http://www.sap-img.com/
http://help.sap.com/saphelp_46c/helpdata/en/08/bef2dadb5311d1ad10080009b0fb56/content.htm
http://www.sapgenie.com/links/abap.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c9/5472fc787f11d194c90000e8353423/frameset.htm
http://www.sapdevelopment.co.uk/dialog/dialoghome.htm
http://help.sap.com
http://www.sapgenie.com/abap/example_code.htm
http://help.sap.com/saphelp_47x200/helpdata/en/52/670ba2439b11d1896f0000e8322d00/frameset.htm
http://www.allsaplinks.com/dialog_programming.html
http://www.sapbrain.com/TUTORIALS/default.html
http://www.sappoint.com/abap/spmp.pdf
<b>Reward points if it helps in any way.</b> -
hi all,
i want to have date field in module pool with F4 help. m keeping format as DATS. but still its not taking F4 help for taking date from calender...how shud i do it.Call this FM -
CALL FUNCTION 'F4_DATE'
EXPORTING
DATE_FOR_FIRST_MONTH = DATE
DISPLAY = HELPDISP
IMPORTING
SELECT_DATE = DATE
EXCEPTIONS
OTHERS = 4.
Regards,
Amit
Reward all helpful replies. -
How to extract the data from module pool program to Excel Sheet?
Hi Guys
I am having a requirement to transfer the data from Module pool screen to excel sheet directly.
This is an urgent requirement.
So plz reply me with some coding examples.
I will give points for that.This report extract excel file. From that concept you can easily extract data from module pool program also by coding in PAI of the screen.
REPORT ztest1 .
* this report demonstrates how to send some ABAP data to an
* EXCEL sheet using OLE automation.
include ole2incl.
* handles for OLE objects
data: h_excel type ole2_object, " Excel object
h_mapl type ole2_object, " list of workbooks
h_map type ole2_object, " workbook
h_zl type ole2_object, " cell
h_f type ole2_object, " font
h_c type ole2_object. " color
DATA: FILENAME LIKE RLGRAP-FILENAME.
tables: spfli.
data h type i.
* table of flights
data: it_spfli like spfli occurs 10 with header line.
*& Event START-OF-SELECTION
start-of-selection.
* read flights
select * from spfli into table it_spfli.
* display header
uline (61).
write: / sy-vline no-gap,
(3) 'Flg'(001) color col_heading no-gap, sy-vline no-gap,
(4) 'Nr'(002) color col_heading no-gap, sy-vline no-gap,
(20) 'Von'(003) color col_heading no-gap, sy-vline no-gap,
(20) 'Nach'(004) color col_heading no-gap, sy-vline no-gap,
(8) 'Zeit'(005) color col_heading no-gap, sy-vline no-gap.
uline /(61).
* display flights
loop at it_spfli.
write: / sy-vline no-gap,
it_spfli-carrid color col_key no-gap, sy-vline no-gap,
it_spfli-connid color col_normal no-gap, sy-vline no-gap,
it_spfli-cityfrom color col_normal no-gap, sy-vline no-gap,
it_spfli-cityto color col_normal no-gap, sy-vline no-gap,
it_spfli-deptime color col_normal no-gap, sy-vline no-gap.
endloop.
uline /(61).
* tell user what is going on
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
* PERCENTAGE = 0
text = text-007
exceptions
others = 1.
* start Excel
create object h_excel 'EXCEL.APPLICATION'.
* PERFORM ERR_HDL.
set property of h_excel 'Visible' = 1.
* CALL METHOD OF H_EXCEL 'FILESAVEAS' EXPORTING #1 = 'c:kis_excel.xls'
* PERFORM ERR_HDL.
* tell user what is going on
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
* PERCENTAGE = 0
text = text-008
exceptions
others = 1.
* get list of workbooks, initially empty
call method of h_excel 'Workbooks' = h_mapl.
perform err_hdl.
* add a new workbook
call method of h_mapl 'Add' = h_map.
perform err_hdl.
* tell user what is going on
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
* PERCENTAGE = 0
text = text-009
exceptions
others = 1.
* output column headings to active Excel sheet
perform fill_cell using 1 1 1 200 'Carrier id'(001).
perform fill_cell using 1 2 1 200 'Connection id'(002).
perform fill_cell using 1 3 1 200 'City from'(003).
perform fill_cell using 1 4 1 200 'City to'(004).
perform fill_cell using 1 5 1 200 'Dep. Time'(005).
loop at it_spfli.
* copy flights to active EXCEL sheet
h = sy-tabix + 1.
if it_spfli-carrid cs 'AA'.
perform fill_cell using h 1 0 000255000 it_spfli-carrid.
elseif it_spfli-carrid cs 'AZ'.
perform fill_cell using h 1 0 168000000 it_spfli-carrid.
elseif it_spfli-carrid cs 'JL'.
perform fill_cell using h 1 0 168168000 it_spfli-carrid.
elseif it_spfli-carrid cs 'LH'.
perform fill_cell using h 1 0 111111111 it_spfli-carrid.
elseif it_spfli-carrid cs 'SQ'.
perform fill_cell using h 1 0 100100100 it_spfli-carrid.
else.
perform fill_cell using h 1 0 000145000 it_spfli-carrid.
endif.
if it_spfli-connid lt 400.
perform fill_cell using h 2 0 255000255 it_spfli-connid.
elseif it_spfli-connid lt 800.
perform fill_cell using h 2 0 077099088 it_spfli-connid.
else.
perform fill_cell using h 2 0 246156138 it_spfli-connid.
endif.
if it_spfli-cityfrom cp 'S*'.
perform fill_cell using h 3 0 155155155 it_spfli-cityfrom.
elseif it_spfli-cityfrom cp 'N*'.
perform fill_cell using h 3 0 189111222 it_spfli-cityfrom.
else.
perform fill_cell using h 3 0 111230222 it_spfli-cityfrom.
endif.
if it_spfli-cityto cp 'S*'.
perform fill_cell using h 4 0 200200200 it_spfli-cityto.
elseif it_spfli-cityto cp 'N*'.
perform fill_cell using h 4 0 000111222 it_spfli-cityto.
else.
perform fill_cell using h 4 0 130230230 it_spfli-cityto.
endif.
if it_spfli-deptime lt '020000'.
perform fill_cell using h 5 0 145145145 it_spfli-deptime.
elseif it_spfli-deptime lt '120000' .
perform fill_cell using h 5 0 015215205 it_spfli-deptime.
elseif it_spfli-deptime lt '180000' .
perform fill_cell using h 5 0 000215205 it_spfli-deptime.
else.
perform fill_cell using h 5 0 115115105 it_spfli-deptime.
endif.
endloop.
* EXCEL FILENAME
CONCATENATE SY-REPID '_' SY-DATUM+6(2) '_' SY-DATUM+4(2) '_'
SY-DATUM(4) '_' SY-UZEIT '.XLS' INTO FILENAME.
CALL METHOD OF H_MAP 'SAVEAS' EXPORTING #1 = FILENAME.
free object h_excel.
perform err_hdl.
* FORM FILL_CELL *
* sets cell at coordinates i,j to value val boldtype bold *
form fill_cell using i j bold col val.
call method of h_excel 'Cells' = h_zl
exporting
#1 = i
#2 = j.
perform err_hdl.
set property of h_zl 'Value' = val .
perform err_hdl.
get property of h_zl 'Font' = h_f.
perform err_hdl.
set property of h_f 'Bold' = bold .
perform err_hdl.
set property of h_f 'Color' = col.
perform err_hdl.
endform. "FILL_CELL
*& Form ERR_HDL
* outputs OLE error if any *
* --> p1 text
* <-- p2 text
form err_hdl.
if sy-subrc <> 0.
write: / 'OLE-Automation Error:'(010), sy-subrc.
stop.
endif.
endform. " ERR_HDL -
How to pass the Data to sclect option field in module pool??
Hai Experts,
I have Created the Select-Options using Sub screen its working fine for me.
But the problem is when i pass the data to one of the my select options field its not showing in display mode..
please me this
i created select option slike this,
SELECTION-SCREEN BEGIN OF SCREEN 400 AS SUBSCREEN.
SELECT-OPTIONS : s_kunnr FOR wa_zcodntr-fin_kunnr,
s_altkn FOR wa_zcodntr-altkn.
SELECTION-SCREEN END OF SCREEN 400 .
Thanks ,
Adv.Thanks SAP_wiz kick replay,
Actullay in my module pool screen i have to select option field like F1 and F2
any one filed give the input and excute pick the coresponding data for F2 (select option) field and display and vice -versa. -
F4 help for the Date field in Module-Pool program
Hi,
I have a requirement wherein the user shud be allowed to choose a date on the calendar using F4 help and after choosing, it shud get displayed as dd.mm.yyyy format in the field. Is there any functional module to implement this.
Thanks in Advance,
Saranya.Hi,
Please try the below code in your prgm.
You have to write the below code in the POV of the required field.
***INCLUDE MZDATE_POV_DATEI01 .
*& Module pov_date INPUT
text
module pov_date input.
DATA: li_ret_tab LIKE ddshretval OCCURS 0 WITH HEADER LINE.
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
tabname = ' '
fieldname = ' '
searchhelp = 'BU_DATE_CHAR'
TABLES
return_tab = li_ret_tab
EXCEPTIONS
field_not_found = 1
no_help_for_field = 2
inconsistent_help = 3
no_values_found = 4
OTHERS = 5.
IF sy-subrc IS INITIAL.
READ TABLE li_ret_tab INDEX 1.
IF sy-subrc IS INITIAL.
wrk_date = li_ret_tab-fieldval. "The required field
ENDIF.
ENDIF.
endmodule. " pov_date INPUT
Hope it suits ur requirement.
Reward points if useful.
Thanks and regards,
Litta. -
F4 help for a field in module pool
Hello Experts,
I need to provide f4 help on field sales office(VKBUR) in my module pool program.
I have searched forums about it. but all forum contains either doc. no or customers etc.
these field are directly available on table, so very easy to find.
But for sales office, how can i provide f4 help. there is no straight entries in tables like for this company code this sales office.
so its getting difficult for me to provide help.
so if anybody know the solution plz help, and if anyone know table where all sales offices are stored, i will be thankful.
Thanks,
AmarHi amar_war,
use screen painter to edit the screen layout where the field VKBUR is on. Double click the field to get the details screen. Here you can attach a search help to the field.
H_TVBUR has no more parameters, it will display a list of al sales offices with description text
H_TVBVK will also show the sales group, if VKGRP is a screen field, it will restrict the result list automatically on matching VKGRP.
H_TVKBZ has also VKORG VTWEG SPART - it will take those values from screen if filled.
If you are not satisfied with the results, you can easily create your own search help using own selection method and own search help exits if required.
Try standard search help for standard field first.
You can create a copy of VKBUR as ZVKBUR and attach search help there, you can create your own screen structure and attach the search help there - 50 ways to get your search help...
Regards,
Clemens
Maybe you are looking for
-
How to connect old LED Cinema Display to new iMac
How to connect old LED Cinema Display (Mini DisplayPort) to new iMac (thunderbolt port)? Ideas?
-
Oracle for Mac OS 10.5.6
Hi all, I am new to apple mac book. I am using the latest macbook with OS 10.5.6 I am looking to install Oracle database on my macbook. I dont have much idea how to do it so thought i can ask here. Is there any direct installation available for mac l
-
My Macbook pro suddenly running very slow
I have a 13" mid 2012 Macbook pro running OS X Mavericks v 10.9.4. About two weeks ago it suddenly became very slow and unresponsive. Startup and shut down takes much longer than usual, file transfers are slow and apps are taking forever to launch. T
-
Hello there. I'm having problems playing some online games, that I never had before. I'm not too computer literate, but I'm not a complete moron either, lol. Anyhoo, here's the deal. The game will run for approximately 7 minutes or so, then it wi
-
I have my account on line, how do I claim the credit on my account which is paid by direct debit? I know there is somewhere you can do this but cannot find?