Verify date format in module pool

Hi all,
I am working in module pool. My requirement needs to verify the date format in dd.mm.yyyy.
If the entered date format is yyyy.mm.dd, then prompt error message.
Can this be done?
Please advise.

There are two ways in solving this problem.
1) If u can use 'DATS' as data type for the parameter ypu are entering date then the system generates error on its own.
2)If u cant use dats then you can use the code below for validating the date format.
suppose u have a start date as parameter p_sdat.
IF ( p_sdat+4(4) LE c_0000
    OR p_sdat+0(4) GT c_9999
    OR ( p_sdat+2(2) LT c_1
    OR p_sdat+2(2) GT c_12
    OR ( p_sdat+0(2) LT c_1
    OR p_sdat+0(2) GT c_31
      MESSAGE 'Invalid date'.
    ENDIF.

Similar Messages

  • Date field in module pool

    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.

  • Data insert through module pool programming

    hi
    I want to insert the data  into the data base through module pool programming.I am taking the fields from different tables, I need sample code ,please help me

    Hi Dhanunjay,
    REPORT zpe_str_le .
    TABLES : zpe_str , zprd_mis1 , mseg , t001l.
    *DATA : STR TYPE C VALUE '50'.
    data : text(100) VALUE 'DELETED STORAGE LOCATION NO '.
    SELECTION-SCREEN : BEGIN OF SCREEN 123 AS WINDOW TITLE TEXT-005.
    SELECT-OPTIONS : S_ZSLOC FOR ZPE_STR-ZSLOC,
    S_ZMACD FOR ZPE_STR-ZMACD,
    S_ZPGRP FOR ZPE_STR-ZPGRP.
    SELECTION-SCREEN : END OF SCREEN 123.
    DATA : flag(1) TYPE c,
    flag1 TYPE c ,
    flag3 TYPE c VALUE '1'.
    DATA : etab LIKE t001l OCCURS 0 WITH HEADER LINE.
    SELECT * FROM T001L INTO TABLE ETAB.
    DATA : ihead LIKE thead.
    DATA : prevtab LIKE tline OCCURS 0 WITH HEADER LINE.
    data : Jtab like TLINE occurs 0 with header line.
    DATA : jtab LIKE tline OCCURS 0 WITH HEADER LINE.
    DATA : itab LIKE zprd_mis1 OCCURS 0 WITH HEADER LINE.
    *SELECT * FROM zprd_mis1 INTO TABLE itab.
    DATA : BEGIN OF itab_sloc OCCURS 0,
    werks LIKE t001l-werks,
    lgort LIKE t001l-lgort,
    lgobe LIKE t001l-lgobe,
    END OF itab_sloc.
    *FLAG = 0.
    CALL SCREEN 100.
    MODULE user_command_0100 INPUT.
    CASE sy-ucomm.
    WHEN 'RET'.
    LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 100.
    *PERFORM PREVIEW.
    LOOP AT prevtab.
    WRITE : / prevtab.
    ENDLOOP.
    LOOP AT JTAB[] INTO ZPRD_MIS1.
    WRITE : Jtab-TDFORMAT.
    WRITE : Jtab-TDLINE .
    *********ZPRD_MIS1-MANDT = Jtab-TDLINE .
    *********ZPRD_MIS1-SLOC = Jtab-TDLINE .
    *********ZPRD_MIS1-MCODE = Jtab-TDLINE .
    *********ZPRD_MIS1-GCODE = Jtab-TDLINE .
    *********ZPRD_MIS1-DESCR = Jtab-TDLINE .
    *********INSERT ZPRD_MIS1.
    ENDLOOP.
    WRITE : JTAB-ZSLOC.
    *********CALL TRANSACTION 'SO10'.
    SET CURSOR 2 2.
    WHEN 'DET'.
    SELECT * FROM ZPRD_MIS1 INTO CORRESPONDING FIELDS OF TABLE ITAB.
    CALL SCREEN 123 STARTING AT 10 5.
    LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
    SKIP 2 .
    WRITE :/1(8) 'STR.LOC' ,10(15) 'MRP. CTLR',27(10) 'P.GRP' ,39(40) 'DESCRIPTION OF PRODUCT'.
    SELECT SLOC MCODE GCODE DESCR FROM zprd_mis1 INTO ZPRD_MIS1 WHERE SLOC IN S_ZSLOC AND
    MCODE IN S_ZMACD AND
    GCODE IN S_ZPGRP.
    WRITE :/1(8) zprd_mis1-SLOC ,10(15) zprd_mis1-MCODE ,27(10) zprd_mis1-GCODE ,39(40) zprd_mis1-DESCR .
    ENDSELECT.
    WHEN 'CLEAR'.
    flag = 4.
    IF zpe_str-zsloc NE ' '.
    CLEAR zpe_str.
    ELSE.
    MESSAGE 'ALREADY CLEARED' TYPE 'S'.
    ENDIF.
    WHEN 'EXIT'.
    LEAVE TO SCREEN 0.
    WHEN 'SAVE'.
    IF zpe_str-zdesc NE ' '.
    IF zpe_str-zsloc NE ' '.
    LOOP AT itab.
    READ TABLE itab WITH KEY sloc = zpe_str-zsloc .
    IF sy-subrc = 0 AND flag = 5.
    zprd_mis1-mandt = sy-mandt.
    zprd_mis1-sloc = zpe_str-zsloc .
    zprd_mis1-mcode = zpe_str-zmacd .
    zprd_mis1-gcode = zpe_str-zpgrp.
    zprd_mis1-descr = zpe_str-zdesc .
    MODIFY zprd_mis1.
    flag1 = 7.
    MESSAGE 'STORAGE LOCATION MODIFIED' TYPE 'S'.
    EXIT.
    ELSE.
    zprd_mis1-mandt = sy-mandt.
    zprd_mis1-sloc = zpe_str-zsloc .
    zprd_mis1-mcode = zpe_str-zmacd .
    zprd_mis1-gcode = zpe_str-zpgrp.
    zprd_mis1-descr = zpe_str-zdesc .
    INSERT zprd_mis1.
    APPEND itab.
    flag = 5.
    flag1 = 7.
    MESSAGE 'STORAGE LOCATION CREATED' TYPE 'S'.
    *MESSAGE 'DATA ALREADY SAVED' TYPE 'S'.
    EXIT.
    *ENDIF.
    ENDIF.
    ENDLOOP.
    ELSE.
    flag = 3.
    MESSAGE 'PLEASE ENTER THE STORAGE LOCATION' TYPE 'S'.
    ENDIF.
    ELSE.
    LOOP AT itab.
    READ TABLE itab WITH KEY sloc = zpe_str-zsloc .
    IF sy-subrc = 0.
    MESSAGE 'ALREADY SAVED' TYPE 'S'.
    ELSE.
    MESSAGE 'ENTRIES FOR OTHER FIELDS REQUIRED' TYPE 'S'.
    ENDIF.
    ENDLOOP.
    ENDIF.
    WHEN 'CHECK'.
    SELECT * FROM zprd_mis1 INTO TABLE itab.
    IF zpe_str-zsloc NE ' '.
    LOOP AT itab.
    READ TABLE itab WITH KEY sloc = zpe_str-zsloc .
    IF sy-subrc = 0.
    zpe_str-zmandt = itab-mandt.
    zpe_str-zsloc = itab-sloc.
    zpe_str-zmacd = itab-mcode.
    zpe_str-zpgrp = itab-gcode.
    zpe_str-zdesc = itab-descr.
    flag = 7.
    flag1 = 7.
    ELSE.
    MESSAGE 'NO SUCH STORAGE LOCATION AVAILABLE' TYPE 'S'.
    EXIT.
    ENDIF.
    ENDLOOP.
    ELSE.
    flag = 3.
    MESSAGE 'PLEASE ENTER THE STORAGE LOCATION' TYPE 'S'.
    EXIT.
    ENDIF.
    WHEN 'DELETE'.
    IF zpe_str-zsloc EQ ' '.
    flag = 3.
    MESSAGE 'NOSUCH LOCATION AVAILABLE' TYPE 'S'.
    ELSE.
    READ TABLE itab WITH KEY sloc = zpe_str-zsloc .
    IF sy-subrc = 0.
    zpe_str-zmandt = itab-mandt.
    zpe_str-zsloc = itab-sloc.
    zpe_str-zmacd = itab-mcode.
    zpe_str-zpgrp = itab-gcode.
    zpe_str-zdesc = itab-descr.
    IF zpe_str-zsloc NE ' '.
    CALL FUNCTION 'G_CHECK_PASSWORD'
    EXPORTING
    password = 'PLANT1'
    EXCEPTIONS
    not_authorized = 1
    canceled = 2
    OTHERS = 3.
    IF sy-subrc = 0.
    PERFORM PREVIEW.
    DELETE FROM zprd_mis1 WHERE SLOC = zpe_str-zSLOC.
    UPDATE zprd_mis1.
    APPEND itab.
    MESSAGE 'STORAGE LOCATION DELETED' TYPE 'S'.
    ELSEIF SY-SUBRC = 2.
    MESSAGE 'OPRATION CANCELLED' TYPE 'E'.
    ELSEIF SY-SUBRC = 3.
    MESSAGE 'UNAUTHORIZED' TYPE 'E'.
    ENDIF.
    ELSE.
    MESSAGE 'STORAGE LOCATION CONTAINS NO DATA' TYPE 'S'.
    ENDIF.
    ELSE.
    MESSAGE 'STORAGE LOCATION CONTAINS NO DATA' TYPE 'S'.
    ENDIF.
    ENDIF.
    WHEN 'CREATE'.
    FLAG3 = 12.
    IF zpe_str-zsloc EQ ' '.
    MESSAGE 'ENTER THE STORAGE LOCATION' TYPE 'S'.
    EXIT.
    ELSE.
    LOOP AT etab.
    READ TABLE etab WITH KEY lgort = zpe_str-zsloc .
    IF sy-subrc = 0.
    read table itab with key sloc = zpe_str-zsloc .
    if sy-subrc = 0.
    zpe_str-zmandt = itab-mandt.
    zpe_str-zsloc = itab-sloc.
    zpe_str-zmacd = itab-mcode.
    zpe_str-zpgrp = itab-gcode.
    zpe_str-zdesc = itab-descr.
    flag = 7.
    flag1 = 7.
    clear flag .
    clear flag1.
    message 'storage location alredy exist' type 'S'.
    ELSE.
    FLAG = 2.
    MESSAGE 'STORAGE LOCATION ENTIRES DOESNOT EXIST' TYPE 'S'.
    ENDIF.
    else.
    message 'no such storage location exist' type 'S'.
    endif.
    endloop.
    FLAG = 2.
    exit.
    endif.
    WHEN 'CHANGE'.
    SELECT * FROM zprd_mis1 INTO TABLE itab.
    IF zpe_str-zsloc NE ' '.
    LOOP AT itab.
    READ TABLE itab WITH KEY sloc = zpe_str-zsloc .
    IF sy-subrc = 0.
    flag = 5.
    flag1 = 6.
    zpe_str-zmandt = itab-mandt.
    zpe_str-zsloc = itab-sloc.
    zpe_str-zmacd = itab-mcode.
    zpe_str-zpgrp = itab-gcode.
    zpe_str-zdesc = itab-descr.
    ELSE.
    MESSAGE 'NO STORAGE LOCATION AVAILABLE' TYPE 'S'.
    ENDIF.
    ENDLOOP.
    ELSE.
    flag = 3.
    MESSAGE 'PLEASE ENTER THE STORAGE LOCATION' TYPE 'S'.
    ENDIF.
    ENDCASE.
    ENDMODULE. " USER_COMMAND_0100 INPUT
    *& Module STATUS_0100 OUTPUT
    text
    MODULE status_0100 OUTPUT.
    SET PF-STATUS 'AAA'.
    SET TITLEBAR 'aaa'.
    IF flag3 = '1'.
    CALL FUNCTION 'G_CHECK_PASSWORD'
    EXPORTING
    password = 'PLANT1'
    EXCEPTIONS
    not_authorized = 1
    canceled = 2
    OTHERS = 3.
    IF sy-subrc 0.
    MESSAGE 'un authorized' TYPE 'S'(001).
    LEAVE TO SCREEN 0.
    ELSEIF SY-SUBRC = 2.
    MESSAGE ' OPERATION CANCELLED' TYPE 'S'(001).
    LEAVE TO SCREEN 0.
    ELSEIF SY-SUBRC = 3.
    LEAVE TO SCREEN 0.
    MESSAGE 'RESTRICTED' TYPE 'S'(001).
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CLEAR flag3.
    ENDIF.
    SELECT * FROM zprd_mis1 INTO TABLE itab.
    LOOP AT SCREEN.
    IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.
    screen-input = 0.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    IF flag = 5 AND flag1 EQ 6.
    LOOP AT SCREEN.
    IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.
    screen-input = 1.
    MODIFY SCREEN.
    ENDIF.
    IF screen-name = 'CREATE' OR screen-name = 'DELETE' OR screen-name = 'CHANGE' OR screen-name = 'CHECK'.
    screen-input = 0.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    EXIT.
    ENDIF.
    IF flag = 2.
    LOOP AT SCREEN.
    IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.
    screen-input = 1.
    MODIFY SCREEN.
    ENDIF.
    IF screen-name = 'CREATE' OR screen-name = 'DELETE' OR screen-name = 'CHANGE' OR screen-name = 'CHECK'.
    screen-input = 0.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    EXIT.
    ENDIF.
    IF flag3 = 12.
    LOOP AT SCREEN.
    IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.
    screen-input = 1.
    MODIFY SCREEN.
    ENDIF.
    IF screen-name = 'CREATE' OR screen-name = 'DELETE' OR screen-name = 'CHANGE' OR screen-name = 'RET' OR screen-name = 'CHECK'.
    screen-input = 0.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    EXIT.
    CLEAR FLAG3.
    ENDIF.
    IF flag = 4.
    IF screen-name CP 'ZPE_*'.
    screen-input = 1.
    ENDIF.
    ENDIF.
    IF flag1 = 7 AND flag = 5.
    LOOP AT SCREEN.
    IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZSLOC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.
    screen-input = 0.
    MODIFY SCREEN.
    ENDIF.
    IF screen-name = 'CREATE' OR screen-name = 'DELETE' OR screen-name = 'CHECK' OR screen-name = 'SAVE'.
    screen-input = 0.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    ENDIF.
    IF flag1 = 7 AND flag = 7.
    LOOP AT SCREEN.
    IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZSLOC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.
    screen-input = 0.
    MODIFY SCREEN.
    ENDIF.
    IF screen-name = 'CREATE' OR screen-name = 'CHECK' OR screen-name = 'SAVE'." OR screen-name = 'DELETE'.
    screen-input = 0.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    ENDIF.
    IF flag1 = 4 AND flag = 3.
    LOOP AT SCREEN.
    IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZSLOC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.
    screen-input = 0.
    MODIFY SCREEN.
    ENDIF.
    IF screen-name = 'CREATE' OR screen-name = 'SAVE' OR screen-name = 'DELETE' OR screen-name = 'CHANGE' OR screen-name = 'CHECK'.
    screen-input = 0.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    ENDIF.
    ENDMODULE. " STATUS_0100 OUTPUT
    DATA: BEGIN OF r1 OCCURS 1.
    INCLUDE STRUCTURE ddshretval.
    DATA: END OF r1.
    *& Module VALUE_SLOC INPUT
    text
    MODULE value_sloc INPUT.
    SELECT lgort werks lgobe FROM t001l INTO CORRESPONDING FIELDS OF TABLE itab_sloc.
    DELETE ADJACENT DUPLICATES FROM itab_sloc COMPARING lgort.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
    retfield = 'LGORT'
    value_org = 'S'
    TABLES
    value_tab = itab_sloc
    return_tab = r1
    EXCEPTIONS
    parameter_error = 1
    no_values_found = 2
    OTHERS = 3.
    IF sy-subrc EQ 0.
    IF r1-fieldval IS NOT INITIAL.
    zpe_str-zsloc = r1-fieldval.
    ENDIF.
    ENDIF.
    EXIT.
    *ENDSELECT.
    ENDMODULE. " VALUE_SLOC INPUT
    FORM PREVIEW.
    *TABLES : ZPE_STR , ZPRD_MIS1 , MSEG.
    data : ihead like thead.
    DATA : prevtab like TLINE occurs 0 with header line.
    data : Jtab like TLINE occurs 0 with header line.
    *data : Jtab like thead occurs 0 with header line.
    *data : text(100).
    CALL FUNCTION 'READ_TEXT'
    EXPORTING
    CLIENT = SY-MANDT
    ID = 'ST'
    LANGUAGE = sy-langu
    NAME = 'ZSLDEL'
    OBJECT = 'TEXT'
    ARCHIVE_HANDLE = 0
    LOCAL_CAT = ' '
    IMPORTING
    HEADER =
    TABLES
    LINES = prevtab[]
    EXCEPTIONS
    ID = 1
    LANGUAGE = 2
    NAME = 3
    NOT_FOUND = 4
    OBJECT = 5
    REFERENCE_CHECK = 6
    WRONG_ACCESS_TO_ARCHIVE = 7
    OTHERS = 8
    IF SY-SUBRC 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    if not prevtab[] is initial.
    append lines of prevtab to jtab.
    endif.
    *IHEAD-TDFDATE = SY-DATUM.
    *IHEAD-TDFTIME = SY-UZEIT.
    ihead-TDOBJECT = 'TEXT'.
    ihead-TDNAME = 'ZSLDEL'.
    ihead-TDID = 'ST'.
    ihead-TDSPRAS = sy-langu.
    type-pools : slis.
    Jtab-TDFORMAT = ''.
    *Jtab-TDLINE = 'SLOCATION'.
    *append Jtab.
    *Jtab-TDFORMAT = ''.
    Jtab-TDFORMAT = '*'.
    Jtab-TDLINE = ZPE_STR-ZSLOC.
    append Jtab.
    Jtab-TDFORMAT = ''.
    *Jtab-TDLINE = 'DATE'.
    *append Jtab.
    Jtab-TDFORMAT = ''.
    *Jtab-TDLINE = SY-DATUM.
    *append Jtab.
    Jtab-TDFORMAT = ''.
    *Jtab-TDLINE = 'TIME'.
    *append Jtab.
    Jtab-TDFORMAT = ''.
    *Jtab-TDLINE = SY-UZEIT.
    *Jtab-TDFORMAT = ''.
    *append Jtab.
    CALL FUNCTION 'SAVE_TEXT'
    EXPORTING
    CLIENT = SY-MANDT
    HEADER = ihead
    INSERT = 'X'
    SAVEMODE_DIRECT = ' '
    OWNER_SPECIFIED = ' '
    LOCAL_CAT = ' '
    IMPORTING
    FUNCTION =
    NEWHEADER =
    TABLES
    LINES = Jtab
    EXCEPTIONS
    ID = 1
    LANGUAGE = 2
    NAME = 3
    OBJECT = 4
    OTHERS = 5
    IF SY-SUBRC 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL FUNCTION 'COMMIT_TEXT'
    EXPORTING
    OBJECT = '*'
    NAME = '*'
    ID = '*'
    LANGUAGE = '*'
    SAVEMODE_DIRECT = ' '
    KEEP = ' '
    LOCAL_CAT = ' '
    IMPORTING
    COMMIT_COUNT =
    TABLES
    T_OBJECT =
    T_NAME =
    T_ID =
    T_LANGUAGE =
    ENDFORM.
    *&spwizard: declaration of tablecontrol 'TBLECTL' itself
    controls: TBLECTL type tableview using screen 0100.
    *&spwizard: lines of tablecontrol 'TBLECTL'
    data: g_TBLECTL_lines like sy-loopc.
    data: OK_CODE like sy-ucomm.
    *&spwizard: output module for tc 'TBLECTL'. do not change this line!
    *&spwizard: update lines for equivalent scrollbar
    module TBLECTL_change_tc_attr output.
    describe table ITAB lines TBLECTL-lines.
    endmodule.
    *&spwizard: output module for tc 'TBLECTL'. do not change this line!
    *&spwizard: get lines of tablecontrol
    module TBLECTL_get_lines output.
    g_TBLECTL_lines = sy-loopc.
    endmodule.
    *&spwizard: input module for tc 'TBLECTL'. do not change this line!
    *&spwizard: process user command
    module TBLECTL_user_command input.
    OK_CODE = sy-ucomm.
    perform user_ok_tc using 'TBLECTL'
    'ITAB'
    changing OK_CODE.
    sy-ucomm = OK_CODE.
    endmodule.
    INCLUDE TABLECONTROL_FORMS *
    *& Form USER_OK_TC *
    FORM USER_OK_TC USING P_TC_NAME TYPE DYNFNAM
    P_TABLE_NAME
    P_MARK_NAME
    CHANGING P_OK LIKE SY-UCOMM.
    &SPWIZARD: BEGIN OF LOCAL DATA----
    DATA: L_OK TYPE SY-UCOMM,
    L_OFFSET TYPE I.
    &SPWIZARD: END OF LOCAL DATA----
    *&SPWIZARD: Table control specific operations *
    *&SPWIZARD: evaluate TC name and operations *
    SEARCH P_OK FOR P_TC_NAME.
    IF SY-SUBRC 0.
    EXIT.
    ENDIF.
    L_OFFSET = STRLEN( P_TC_NAME ) + 1.
    L_OK = P_OK+L_OFFSET.
    *&SPWIZARD: execute general and TC specific operations *
    CASE L_OK.
    WHEN 'INSR'. "insert row
    PERFORM FCODE_INSERT_ROW USING P_TC_NAME
    P_TABLE_NAME.
    CLEAR P_OK.
    WHEN 'DELE'. "delete row
    PERFORM FCODE_DELETE_ROW USING P_TC_NAME
    P_TABLE_NAME
    P_MARK_NAME.
    CLEAR P_OK.
    WHEN 'P--' OR "top of list
    'P-' OR "previous page
    'P+' OR "next page
    'P++'. "bottom of list
    PERFORM COMPUTE_SCROLLING_IN_TC USING P_TC_NAME
    L_OK.
    CLEAR P_OK.
    WHEN 'L--'. "total left
    PERFORM FCODE_TOTAL_LEFT USING P_TC_NAME.
    WHEN 'L-'. "column left
    PERFORM FCODE_COLUMN_LEFT USING P_TC_NAME.
    WHEN 'R+'. "column right
    PERFORM FCODE_COLUMN_RIGHT USING P_TC_NAME.
    WHEN 'R++'. "total right
    PERFORM FCODE_TOTAL_RIGHT USING P_TC_NAME.
    WHEN 'MARK'. "mark all filled lines
    PERFORM FCODE_TC_MARK_LINES USING P_TC_NAME
    P_TABLE_NAME
    P_MARK_NAME .
    CLEAR P_OK.
    WHEN 'DMRK'. "demark all filled lines
    PERFORM FCODE_TC_DEMARK_LINES USING P_TC_NAME
    P_TABLE_NAME
    P_MARK_NAME .
    CLEAR P_OK.
    WHEN 'SASCEND' OR
    'SDESCEND'. "sort column
    PERFORM FCODE_SORT_TC USING P_TC_NAME
    l_ok.
    ENDCASE.
    ENDFORM. " USER_OK_TC
    *& Form FCODE_INSERT_ROW *
    FORM fcode_insert_row
    USING P_TC_NAME TYPE DYNFNAM
    P_TABLE_NAME .
    &SPWIZARD: BEGIN OF LOCAL DATA----
    DATA L_LINES_NAME LIKE FELD-NAME.
    DATA L_SELLINE LIKE SY-STEPL.
    DATA L_LASTLINE TYPE I.
    DATA L_LINE TYPE I.
    DATA L_TABLE_NAME LIKE FELD-NAME.
    FIELD-SYMBOLS <TC> TYPE CXTAB_CONTROL.
    FIELD-SYMBOLS <TABLE> TYPE STANDARD TABLE.
    FIELD-SYMBOLS <LINES> TYPE I.
    &SPWIZARD: END OF LOCAL DATA----
    ASSIGN (P_TC_NAME) TO <TC>.
    *&SPWIZARD: get the table, which belongs to the tc *
    CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
    ASSIGN (L_TABLE_NAME) TO <TABLE>. "not headerline
    *&SPWIZARD: get looplines of TableControl *
    CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_LINES_NAME.
    ASSIGN (L_LINES_NAME) TO <LINES>.
    *&SPWIZARD: get current line *
    GET CURSOR LINE L_SELLINE.
    if sy-subrc 0. " append line to table
    l_selline = <tc>-lines + 1.
    *&SPWIZARD: set top line *
    if l_selline > <lines>.
    <tc>-top_line = l_selline - <lines> + 1 .
    else.
    <tc>-top_line = 1.
    endif.
    else. " insert line into table
    l_selline = <tc>-top_line + l_selline - 1.
    l_lastline = <tc>-top_line + <lines> - 1.
    endif.
    *&SPWIZARD: set new cursor line *
    l_line = l_selline - <tc>-top_line + 1.
    *&SPWIZARD: insert initial line *
    INSERT INITIAL LINE INTO <TABLE> INDEX L_SELLINE.
    <TC>-LINES = <TC>-LINES + 1.
    *&SPWIZARD: set cursor *
    SET CURSOR LINE L_LINE.
    ENDFORM. " FCODE_INSERT_ROW
    *& Form FCODE_DELETE_ROW *
    FORM fcode_delete_row
    USING P_TC_NAME TYPE DYNFNAM
    P_TABLE_NAME
    P_MARK_NAME .
    &SPWIZARD: BEGIN OF LOCAL DATA----
    DATA L_TABLE_NAME LIKE FELD-NAME.
    FIELD-SYMBOLS <TC> TYPE cxtab_control.
    FIELD-SYMBOLS <TABLE> TYPE STANDARD TABLE.
    FIELD-SYMBOLS <WA>.
    FIELD-SYMBOLS <MARK_FIELD>.
    &SPWIZARD: END OF LOCAL DATA----
    ASSIGN (P_TC_NAME) TO <TC>.
    *&SPWIZARD: get the table, which belongs to the tc *
    CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
    ASSIGN (L_TABLE_NAME) TO <TABLE>. "not headerline
    *&SPWIZARD: delete marked lines *
    DESCRIBE TABLE <TABLE> LINES <TC>-LINES.
    LOOP AT <TABLE> ASSIGNING <WA>.
    *&SPWIZARD: access to the component 'FLAG' of the table header *
    ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE <WA> TO <MARK_FIELD>.
    IF <MARK_FIELD> = 'X'.
    DELETE <TABLE> INDEX SYST-TABIX.
    IF SY-SUBRC = 0.
    <TC>-LINES = <TC>-LINES - 1.
    ENDIF.
    ENDIF.
    ENDLOOP.
    ENDFORM. " FCODE_DELETE_ROW
    *& Form COMPUTE_SCROLLING_IN_TC
    text
    -->P_TC_NAME name of tablecontrol
    -->P_OK ok code
    FORM COMPUTE_SCROLLING_IN_TC USING P_TC_NAME
    P_OK.
    &SPWIZARD: BEGIN OF LOCAL DATA----
    DATA L_TC_NEW_TOP_LINE TYPE I.
    DATA L_TC_NAME LIKE FELD-NAME.
    DATA L_TC_LINES_NAME LIKE FELD-NAME.
    DATA L_TC_FIELD_NAME LIKE FELD-NAME.
    FIELD-SYMBOLS <TC> TYPE cxtab_control.
    FIELD-SYMBOLS <LINES> TYPE I.
    &SPWIZARD: END OF LOCAL DATA----
    ASSIGN (P_TC_NAME) TO <TC>.
    *&SPWIZARD: get looplines of TableControl *
    CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_TC_LINES_NAME.
    ASSIGN (L_TC_LINES_NAME) TO <LINES>.
    *&SPWIZARD: is no line filled? *
    IF <TC>-LINES = 0.
    *&SPWIZARD: yes, ... *
    L_TC_NEW_TOP_LINE = 1.
    ELSE.
    *&SPWIZARD: no, ... *
    CALL FUNCTION 'SCROLLING_IN_TABLE'
    EXPORTING
    ENTRY_ACT = <TC>-TOP_LINE
    ENTRY_FROM = 1
    ENTRY_TO = <TC>-LINES
    LAST_PAGE_FULL = 'X'
    LOOPS = <LINES>
    OK_CODE = P_OK
    OVERLAPPING = 'X'
    IMPORTING
    ENTRY_NEW = L_TC_NEW_TOP_LINE
    EXCEPTIONS
    NO_ENTRY_OR_PAGE_ACT = 01
    NO_ENTRY_TO = 02
    NO_OK_CODE_OR_PAGE_GO = 03
    OTHERS = 0.
    ENDIF.
    *&SPWIZARD: get actual tc and column *
    GET CURSOR FIELD L_TC_FIELD_NAME
    AREA L_TC_NAME.
    IF SYST-SUBRC = 0.
    IF L_TC_NAME = P_TC_NAME.
    *&SPWIZARD: et actual column *
    SET CURSOR FIELD L_TC_FIELD_NAME LINE 1.
    ENDIF.
    ENDIF.
    *&SPWIZARD: set the new top line *
    <TC>-TOP_LINE = L_TC_NEW_TOP_LINE.
    ENDFORM. " COMPUTE_SCROLLING_IN_TC
    *& Form FCODE_TC_MARK_LINES
    marks all TableControl lines
    -->P_TC_NAME name of tablecontrol
    FORM FCODE_TC_MARK_LINES USING P_TC_NAME
    P_TABLE_NAME
    P_MARK_NAME.
    &SPWIZARD: EGIN OF LOCAL DATA----
    DATA L_TABLE_NAME LIKE FELD-NAME.
    FIELD-SYMBOLS <TC> TYPE cxtab_control.
    FIELD-SYMBOLS <TABLE> TYPE STANDARD TABLE.
    FIELD-SYMBOLS <WA>.
    FIELD-SYMBOLS <MARK_FIELD>.
    &SPWIZARD: END OF LOCAL DATA----
    ASSIGN (P_TC_NAME) TO <TC>.
    *&SPWIZARD: get the table, which belongs to the tc *
    CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
    ASSIGN (L_TABLE_NAME) TO <TABLE>. "not headerline
    *&SPWIZARD: mark all filled lines *
    LOOP AT <TABLE> ASSIGNING <WA>.
    *&SPWIZARD: access to the component 'FLAG' of the table header *
    ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE <WA> TO <MARK_FIELD>.
    <MARK_FIELD> = 'X'.
    ENDLOOP.
    ENDFORM. "fcode_tc_mark_lines
    *& Form FCODE_TC_DEMARK_LINES
    demarks all TableControl lines
    -->P_TC_NAME name of tablecontrol
    FORM FCODE_TC_DEMARK_LINES USING P_TC_NAME
    P_TABLE_NAME
    P_MARK_NAME .
    &SPWIZARD: BEGIN OF LOCAL DATA----
    DATA L_TABLE_NAME LIKE FELD-NAME.
    FIELD-SYMBOLS <TC> TYPE cxtab_control.
    FIELD-SYMBOLS <TABLE> TYPE STANDARD TABLE.
    FIELD-SYMBOLS <WA>.
    FIELD-SYMBOLS <MARK_FIELD>.
    &SPWIZARD: END OF LOCAL DATA----
    ASSIGN (P_TC_NAME) TO <TC>.
    *&SPWIZARD: get the table, which belongs to the tc *
    CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
    ASSIGN (L_TABLE_NAME) TO <TABLE>. "not headerline
    *&SPWIZARD: demark all filled lines *
    LOOP AT <TABLE> ASSIGNING <WA>.
    *&SPWIZARD: access to the component 'FLAG' of the table header *
    ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE <WA> TO <MARK_FIELD>.
    <MARK_FIELD> = SPACE.
    ENDLOOP.
    ENDFORM. "fcode_tc_mark_lines
    Source : https://forums.sdn.sap.com/click.jspa?searchID=15092700&messageID=5654151
    Have A Good Day
    Chaitanya.

  • Disobey the user profile date setting in module pool

    Hi all,
    I am working on a module pool. I have a request to disobey the user profile date setting dd/mm/yyyy to user requested date format dd-mm-yyyy.
    I understand that it can easily be done in SAPScript with command SET DATE MAST dd-mm-yyyy, but how to do it in module pool?
    Thanks in advance.

    Hi, Wong.
    Follow the Steps Bellow
    --> Copy Search Help BU_DATE_CHAR to ZBU_DATE_CHAR using T-Code SE11
    --> Copy FM BUS_TOOLS_DATE_CHAR_EXIT to Z_BUS_TOOLS_DATE_CHAR_EXIT using T-Code SE37
    --> Open ZBU_DATE_CHAR in Change mode and add Z_ in the Start of Search help exit FM as we have copy new
    --> Active ZBU_DATE_CHAR it will not give you any Error message may be one Warning message but Ignore this.
    --> Active Z_BUS_TOOLS_DATE_CHAR_EXIT my will give you error message do the following Change
         in Changing Tab SHIP type SHLP_DESCR    " Change the Previous type with this one.
         in Tables Tab SHLP_TAB type SHLP_DESCT  " Change the Previous type with this one.-->
    --> After doing above changes.
    --> Add the following line of Code on line number 92 just before the line APPEND record_tab.
    REPLACE ALL OCCURRENCES OF '.' in record_tab-string WITH '-'.
    --> Activate both Search Help and FM
    now in the Search help filed in Module Pool you where using BU_DATE_CHAR use ZBU_DATE_CHAR
    I did the above way and it is working fine this way now When i Press F4 and select some date it show in the Field like 01-01-2009 Previously it was showing me 01.01.2009
    Please Reply if any problem,
    Best Regards,
    Faisal

  • Get data from a module pool

    Hello ABAP Experts,
    I am BW person, and looking to extract the data from the table display from one of the trasactions in R/3.
    tcode: fmderive
    i checked the the program it is : SAPMABADR (module pool)
    fields of hte table belong to: structure FMDERIVE
    If i can get the data into a internal table. That would be great, i can do the rest of the processing before i extract this data to BW.
    Any suggestions appreciated.
    Thanks,
    BWer

    Hi,
    It is possible to extract data in internal table. The internal table should be of a particular STRUCTURE which is created in SE11. Populate the internal table in program.
    I do not remember the exact command, but it is somewhat as below. With this it is possible to extract data in BW.
    *<QUERY HEAD> "Always comment this statement
    loop at it_data into wa_data.
    append wa_data to it_fmderive.
    endloop.
    *<QUERY BODY> "Always comment this statement
    The internal table it_fmderive can be used to extract data in BW. This is the only way to extract data.
    Also refer following link :
    http://www.thespot4sap.com/articles/SAP_ABAP_Queries_DataRetrievalUsingProgram.asp
    Best regards,
    Prashant
    Message was edited by: Prashant Patil

  • Data type in module pool

    I want to create sceen in module pool programming with 2 filed , one with type P length 8 decimals 2, and another with type I,
    as I need it to do calculation.
    can anybody suggest ?
    thanks

    Hi,
    Its depend on your requirements-
    If you want To display text then go for CHAR Type.
    If you want to display number then Go for INT4/INT2/INT2
    For amount DEE - So On.
    Now Put the Text filed from List And Double Clicking on the field Attribute list is diaplyed , In the Distionary Attributes you put DATA TYPE.
    Do not Forgrt to place OK-CODE Field In Element List.In the Element list you also Define the Type, Length attrubutes.
    If Any Confusion let me know.
    Regards,
    Sujit

  • Data entry in module pool screen

    Hi all,
    I have created a module pool program. on the screen of the program, i have entered a dictionary field KNA1-KUNNR. On the second field on the screen, i have coded a search help to generate the F4 help based on the entries in the first field. Now the problem is that the entry made in the first screen is not available in the code, i.e. when i have entered a value in the first screen, in the debugger it shows the field as empty. i tried declaring a variable of the same name as the field, but it gives me error that the variable is already declared. any help will be appreciated.
    regards,
    hamza

    Hi,
    You can write like:
      DATA :  TB_DYNPFIELDS LIKE DYNPREAD OCCURS 0 WITH HEADER LINE.   "internal table declared
      CLEAR:   TB_DYNPFIELDS.
      REFRESH: TB_DYNPFIELDS.
      MOVE 'ZTG_EMP-HLTH_PLAN' TO TB_DYNPFIELDS-FIELDNAME.  " fieldname whose value needs to be catched dynamically
    APPEND TB_DYNPFIELDS.
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          DYNAME                               = 'SAPMZTG01'   *"program name *
          DYNUMB                               = '1010'               "screen number
      TRANSLATE_TO_UPPER                   = ' '
      REQUEST                              = ' '
      PERFORM_CONVERSION_EXITS             = ' '
      PERFORM_INPUT_CONVERSION             = ' '
      DETERMINE_LOOP_INDEX                 = ' '
      START_SEARCH_IN_CURRENT_SCREEN       = ' '
      START_SEARCH_IN_MAIN_SCREEN          = ' '
      START_SEARCH_IN_STACKED_SCREEN       = ' '
      START_SEARCH_ON_SCR_STACKPOS         = ' '
      SEARCH_OWN_SUBSCREENS_FIRST          = ' '
      SEARCHPATH_OF_SUBSCREEN_AREAS        = ' '
        TABLES
          DYNPFIELDS                           = TB_DYNPFIELDS     "internal table to be passed
    EXCEPTIONS
      INVALID_ABAPWORKAREA                 = 1
      INVALID_DYNPROFIELD                  = 2
      INVALID_DYNPRONAME                   = 3
      INVALID_DYNPRONUMMER                 = 4
      INVALID_REQUEST                      = 5
      NO_FIELDDESCRIPTION                  = 6
      INVALID_PARAMETER                    = 7
      UNDEFIND_ERROR                       = 8
      DOUBLE_CONVERSION                    = 9
      STEPL_NOT_FOUND                      = 10
      OTHERS                               = 11
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      READ TABLE TB_DYNPFIELDS INDEX 1.
      IF SY-SUBRC EQ 0.
        PLAN_ID = TB_DYNPFIELDS-FIELDVALUE.   *"internal table passed in the funcn module has one field as fieldvalue which will catch that fields value dynamically *
      ENDIF.
    Hope it helps you
    Regrds
    Mansi

  • 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.

  • Header and Item data in a module pool

    Hi Friends,
    I designed a screen in that i have header data and item data.
    Here in my screen header i have vendor number,Vendor name,
    bank Name, Branch, LC value and Due date fields.
    and for item details i have to take table control.In the item details i have the fields Sl No, PO Number and Po Value.
    and Two push buttons i need to put.SAVE and CANCEL.
    When i click on SAVE all my screen details should be saved in a ZTABLE and should generate a LCDOCUMENT-Number from the system.
    So my question is shell i take the two tables for header and item data or one is enough and if i take two tables(one is header and one is item data) how i write the logic to store into the ztables.
    How can i proceed.Plz provide me with ur inputs
    Thanks and Regards.

    Hi!
    you have to take one table.....in which u have to move the header and item data into that b'coz according to the header data the items are to be displayed.......
    select the data for which ever tables they came and then take a final table in which include all the fields of header and item .loop on all the tables from which data u have taken and inside it move the data of those fields into the fields of the final table.
    In the ALV u need to call the function module to display the ALV with that final table in which ur all data is there and prepare a field catalog of those fields you want to display in the item list.
    for example a sample code is there...
    types:
      begin of type_s_vbak,
        vkorg type vbak-vkorg,             " Sales Organization
        aufnr type vbak-aufnr,             " Sales Order Number
        auart type vbak-auart,             " Sales Order Type
        kunnr type vbak-kunnr,             " Customer Number
        vbeln type vbak-vbeln,             " Sales Document
        knumv type vbak-knumv,             " Number of Document Condition
      end of type_s_vbak.                  " BEGIN OF TYPE_S_VBAK
    types:
      begin of type_s_konv,
        kwert type konv-kwert,             " Condition Value
        kbetr type konv-kbetr,             " Rate (Condition Amount)
        knumv type konv-knumv,             " Number of Document Condition
        kschl type konv-kschl,             " Condition Type
      end of type_s_konv.                  " BEGIN OF TYPE_S_KONV
    types:
      begin of type_s_material,
        kunnr      type vbak-kunnr,          " Customer Number
        matnr      type vbap-matnr,          " Material Number
        arktx       type vbap-arktx,          " Material Description
        steuc       type marc-steuc,          " Fiscal Classification
        kwmeng   type vbap-kwmeng,         " Quantity
        knumv      type vbak-knumv,          " Number of Document Condition
        vbeln        type vbak-vbeln,          " Document Number
        kwert       type konv-kwert,          " Condition Value
        total         type p length 14 decimals 2,
                                           " Total
        ipitype  type p length 9 decimals 3,
                                           " IPI Type
        ipivalue type konv-kwert,          " IPI Value
      end of type_s_material.              " BEGIN OF TYPE_S_MATERIAL
    data:
      fs_vbak type type_s_vbak.
    data:
      fs_mati type type_s_material.
    data:
      fs_konv type type_s_konv.
    data:
       t_vbak like
    standard table
           of fs_vbak.
    data:
       t_konv like
    standard table
           of fs_konv.
    data:
       t_mati like
    standard table
           of fs_mati.
    loop at t_konv into fs_konv where kschl eq 'ZPNF'.
        move fs_konv-kwert to fs_mati-kwert.
        modify t_mati from fs_mati
        transporting kwert
        where knumv eq fs_konv-knumv.
      endloop.                             " LOOP AT T_KONV INTO FS_KONV
    * Modifying Total Field of Material Table.
      loop at t_mati into fs_mati.
        w_total = fs_mati-kwmeng * fs_mati-kwert.
        move  w_total to fs_mati-total.
        modify t_mati from fs_mati
        index sy-tabix
        transporting total.
        clear w_total.
      endloop.                             " LOOP AT T_KONV INTO FS_KONV
    * Modifying IPI-Type Field of Material Table.
      loop at t_konv into fs_konv where kschl eq 'IPI3'.
        w_total = fs_konv-kbetr div 10.
        move w_total to fs_mati-ipitype.
        modify t_mati from fs_mati
        transporting ipitype
        where knumv eq fs_konv-knumv.
        clear w_total.
      endloop.                             " LOOP AT T_KONV INTO FS_KONV
    * Modifying IPI-Value Field of Material Table.
      loop at t_konv into fs_konv where kschl eq 'IPI3'.
        move fs_konv-kwert to fs_mati-ipivalue.
        modify t_mati from fs_mati
        transporting ipivalue
        where knumv eq fs_konv-knumv.
      endloop.                             " LOOP AT T_KONV INTO FS_KONV
    and then fill the fieldcatalog and display the ALV
    Edited by: Richa Tripathi on Apr 15, 2009 3:28 PM

  • Date Format in DD-MM-YYYY in Module Pool

    Hi,
    How can I show date in DD-MM-YYYY Format in Module Pool
    Thanks

    declare a field of length 10  in ur screen and use this logic
    data :  gv_datum(10) type c,
              gv_dt like sy-datum.
            gv_dt = sy-datum.           "here u can give the date field .
      CONCATENATE gv_dt+6(2) gv_dt+4(2) gv_dt+0(4)
            INTO gv_datum
            SEPARATED BY '-'.
    write:/ gv_datum.
    regards,
    vijay

  • Date in Module pool !!

    Hi,
    I want to show a date field in Module pool Screen. I need this date field should have Search help and Auto Validation.
    Should i declare date field in Module pool as
    data: v_date(10).
    OR
    data: v_date like sy-datum.

    Hi,
    You need to take the field as
    <b>data: v_date like sy-datum.</b>
    Inthe module pool you create the field in the Screen, then double click on the field then Attributes window will open there the Type will be there for this field, select DATS there to check the field validation
    Regards
    Sudheer

  • How to use one module pool program in another module pool programming?

    Hi
    I have one moodule pool program.
    In one of my screen i want to use some code which already developed in another module pool program.
    Is there any direct way for using one module pool programcode  in another module pool program.
    If there any approaches for this plz help me in this issue.

    Dear,
    If you want to use the code.
    first you can write your code in a subroutine in module pool program 1
    and then you can use it from module pool  program 2 by
    perform subroutine_name(program_name)
    using P_1
    changing C_1
    if you wan to use one module pool data into other module pool.
    so that is another requirement.

  • How to include DMS in module pool?

    hello,
    i want to incorporate DMS[]Document data] in my module pool program, the same  is there in MM03 transaction(document data).How can we do this?
    below is the syntax tht i have used.
    PROCESS BEFORE OUTPUT.
    *&SPWIZARD: PBO FLOW LOGIC FOR TABSTRIP 'TAB'
    MODULE TAB_ACTIVE_TAB_SET.
        break-point.
      CALL SUBSCREEN:
          1002_SCA INCLUDING G_TAB-PROG '1002',
            1002_SCA  INCLUDING SAPLCV140 '0204',
           1003_SCA INCLUDING G_TAB-PROG '1003'.
    MODULE STATUS_1001.
           tab-activetab = 'TAB1'.
           DYNNR = '0204'.
            MODULE TAB_ACTIVE_TAB_SET.
    PROCESS AFTER INPUT.
    *&SPWIZARD: PAI FLOW LOGIC FOR TABSTRIP 'TAB'
      CALL SUBSCREEN:
           1002_SCA,
    *CALL SUBSCREEN TABFRA1.
           1003_SCA.
      MODULE TAB_ACTIVE_TAB_GET.
    MODULE USER_COMMAND_1001.
    in MODULE TAB_ACTIVE_TAB_SET
    MODULE TAB_ACTIVE_TAB_SET OUTPUT.
      break-point.
      TAB-ACTIVETAB = G_TAB-PRESSED_TAB.
      CASE G_TAB-PRESSED_TAB.
        WHEN C_TAB-TAB1.
          G_TAB-SUBSCREEN = '1002'.
         CALL subscreen 1002_SCA  INCLUDING SAPLCV140 '0204'.
        WHEN C_TAB-TAB2.
          G_TAB-SUBSCREEN = '1003'.
        WHEN OTHERS.
    *&SPWIZARD:      DO NOTHING
      ENDCASE.
    ENDMODULE.

    I think that the best way is to call directly class/function or form present in standard cvxxn transaction.
    For example, take a look to d100_display_document form in include LCV110F19 (see also d100_consume_events in LCV110F19)
    For example, function for displaying document is CV110_DOC_DISPLAY

  • Module Pool SAPZPS01

    Hi Experts,
        I've a module pool program 'SAPZPS01' in SAP 4.7. It's naming convention seems to be different from the common naming convention used.
      I want to create this program in ECC 6.0 but it's asking for Object access key...
    Any help is appreciated...
    Thanks and Regards,
    Rudresh

    Hi,
    naming convention  for module pool is as follows:
    SAP R/3 Requirements:
    Module Pool Screen names must begin with ‘SAPMY’ or ‘SAPMZ’ and can be a maximum of 8 characters long.
    Standard Format:
    Screen module pool names should begin with SAPMZ followed by a 1 character functional descriptor.  The last 3 digits of the name should be a unique alphanumeric identifier.
    Regards ,
    Sooness

  • Updating custom table through table control in module pool

    Hi
    I am entering a data in the module pool screen in a table control . The functionality is that whatever i enter in a row gets updated in a custom table in the database with the same values . My problem is that when i enter some values and press the save button on the module pool screen , the data gets updated on the table but gets invisible from the module pool screen . The user wants the data to be displayed even after it has been saved ..if anyone can help on this ...
    thanks

    hi,
    Check whether u have activated the report and screen.

Maybe you are looking for

  • I have several manuals in PDF format. How do I download them into my iPad and view them?

    I have several manuals in PDF format. How do I download them into my iPad and view them? I downloaded a PDF viewer on my iPad and via itunes I can download the PDF to the iPad although for some reason the iPad comes up as 'RmoteTV' with a sub-directo

  • Safari 5.1.5 not redirecting (10.6.8)

    Today, I have been having problems with Safari on a local WiFi spot (which Firefox doesn't have problems with) - with Firefox, I get the iniitial screen with a login button, click on that, get asked about it redirecting (to the - firewall? - server,

  • XML/AS3 Lightbox style gallery - need starting point....

    I've made a gallery slideshow before but wasn't as intuitive looking back at it now and I want to start fresh on this new project. I would like to convert a jQuery lightbox style gallery into a flash XML based AS3 image gallery with categories. I don

  • Archive Log file size

    I am using Oracle database 9.2.0.1.0, My OS is Linux AS4 Update version. My database is in archive log mode, the archive file size generated on disk is 100 MB. I want to monitor the reason that why the size of redo generated is too big. Kindly sugges

  • MM - HR integration problems

    Hello all, I have a problem with my release strategy for Purchase Requisition. Whenever I create a PR the release is triggering, but the problem is the processor, i.e. the name of the person who should release this PR is not triggering. We have maint