Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

subscreen creation in module pool

Former Member
0 Likes
996

hi all,

i am creating module pool program with subscreen for one ztable.(with 10 fields)

first screen i have created with 5 fields from that ztable, also with display pushbutton.

now i will give value to those fields and press display button.  Data as move to second screen of ztable with all fields.(inculding first screen 5 fields)

second screen i created with all fields in table control(with 10 line means), once i press display button value of first screen move to second screen corresponding fields of all 10 lines.

but it is moving to only first line of second screen, but i want it to all line.

how to do this.

regards,

s.kavitha

8 REPLIES 8
Read only

Former Member
0 Likes
959

hi kavitha,

first screen is having single record or table control?

Read only

0 Likes
959

hi abdul,

is a single record.

Read only

0 Likes
959

Hi

you need to pass the values from feilds of screen1 to fields of screen2.

regards

laxman

Read only

Former Member
0 Likes
959

Hi Kavitha ,

                 u want the data related to the first screen fields or the data that u enter in the first screen?

Regards ,

Rocky

Read only

0 Likes
959

hi ,

i want data that i entered in the first screen, as move to second screen all lines(i.e., all rows)

and one more doubt, i have doc.no field in that above 10 field, for that i gave number range and its working fine, similarlly i have line item field, for that i want number 1,2,3,4,...etc.

first screen look like this,

company code     3961

year                    2015    

period                   01

date                    15.01.2015

i have pushbutton,

display      exit

once i give value for above field, and press display,

second screen is coming like ,value i entered is coming,

company code     year     period     doc.no     line item     date               D/C     amount     value type   

3961                    2015     01          14001     01               15.01.2015     D          1000     02

but i want it like , second screen is a table control, so i have 10 lines,(rows) i want the data enterd in 1st screen as come on all line item with same company code,year,period,date and doc.no .

line item as to come like, 10 lines means 1,2,3,4,5,6,7,8,9,10.

how to solve this.

regards,

S.kavitha

Read only

0 Likes
959

hi all,

please any help me to solve this issue.

regards,

S.Kavitha

Read only

0 Likes
959

just pass the values from fields of screen1 to fields of screen2.

Read only

0 Likes
959

i am passing like that only sir,

here i will post my coding.

first screen:

PROCESS BEFORE OUTPUT.

MODULE STATUS_0014.

PROCESS AFTER INPUT.

CHAIN.

FIELD:zacinfit014hfm-bukrs,

zacinfit014hfm-RYEAR,zacinfit014hfm-RPMAX,zacinfit014hfm-BUDAT.

MODULE DUPLICATE_ENTRY1 ON CHAIN-INPUT.

ENDCHAIN.

MODULE USER_COMMAND_0014.

second screen:

PROCESS BEFORE OUTPUT.

*MODULE SELECT.

MODULE STATUS_1014.

   LOOP AT GI_TABLE14 INTO GS_TABLE14 WITH CONTROL SUB

  CURSOR SUB-current_line.

     MODULE MODIFYTABLE.

       MODULE CREATION_NAME_DATE.

         MODULE SELECT.

  ENDLOOP.

  MODULE USERNAME.

*

PROCESS AFTER INPUT.

LOOP AT GI_TABLE14.

CHAIN.

FIELD:GS_TABLE14-HFM_DOC_NO,

GS_TABLE14-RYEAR,GS_TABLE14-RPMAX,GS_TABLE14-BUDAT,

GS_TABLE14-HKONT,GS_TABLE14-HFM_BPU_CATEGORY,

GS_TABLE14-HFM_GL_ACC_TYPE,GS_TABLE14-HFM_VALUE_TYPE.

*MODULE VALIDATE.

  MODULE DUPLICATE_ENTRY ON CHAIN-INPUT.

ENDCHAIN.

     ENDLOOP.

MODULE back AT EXIT-COMMAND.

MODULE USER_COMMAND_1014.

full coding:

*&---------------------------------------------------------------------*

*& Module Pool       ZTABLE14

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

PROGRAM  ZTABLE14 NO STANDARD PAGE HEADING

                         MESSAGE-ID ZACINFI001 LINE-SIZE 1023.

TABLES:zacinfit014hfm.

DATA: GI_TABLE14 LIKE STANDARD TABLE OF ZACINFIT014HFM,

      GS_TABLE14 LIKE LINE OF GI_TABLE14,

      GI_TAB14 LIKE STANDARD TABLE OF ZACINFIT014HFM,

      GS_TAB14 LIKE LINE OF GI_TAB14,

      OK_CODE TYPE SY-UCOMM,

      MARK TYPE C.

DATA: l_user_data TYPE soudatai1,

      l_user TYPE soudnamei1,

      l_fullname type SO_ADRNAM.

DATA: number TYPE i,

      line_count TYPE i.

START-OF-SELECTION.

CALL SCREEN 014.

*&---------------------------------------------------------------------*

*&      Module  STATUS_0014  OUTPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE STATUS_0014 OUTPUT.

  SET PF-STATUS 'ST14'.

  SET TITLEBAR 'T14'.

ENDMODULE.                 " STATUS_0014  OUTPUT

*&---------------------------------------------------------------------*

*&      Module  USER_COMMAND_0014  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE USER_COMMAND_0014 INPUT.

CASE OK_CODE.

  WHEN 'DISPLAY'.

    CALL FUNCTION 'NUMBER_GET_NEXT'

      EXPORTING

        NR_RANGE_NR                   = '1'

        OBJECT                        = 'ZHFM'

*       QUANTITY                      = '1'

*       SUBOBJECT                     = ' '

*       TOYEAR                        = '0000'

*       IGNORE_BUFFER                 = ' '

     IMPORTING

       NUMBER                        = number

*       QUANTITY                      =

*       RETURNCODE                    =

     EXCEPTIONS

       INTERVAL_NOT_FOUND            = 1

       NUMBER_RANGE_NOT_INTERN       = 2

       OBJECT_NOT_FOUND              = 3

       QUANTITY_IS_0                 = 4

       QUANTITY_IS_NOT_1             = 5

       INTERVAL_OVERFLOW             = 6

       BUFFER_OVERFLOW               = 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.

    gs_table14-hfm_doc_no = number.

    MOVE ZACINFIT014HFM-BUKRS TO GS_TABLE14-BUKRS.

    MOVE ZACINFIT014HFM-RYEAR TO GS_TABLE14-RYEAR.

    MOVE ZACINFIT014HFM-RPMAX TO GS_TABLE14-RPMAX.

    MOVE ZACINFIT014HFM-BUDAT TO GS_TABLE14-BUDAT.

*    APPEND GS_TABLE14 TO Gi_TABLE14.

*MODIFY ZACINFIT014HFM FROM GS_TABLE14.

    INSERT into zacinfit014hfm VALUES gs_table14.

CALL SCREEN 1014.

WHEN 'EXIT' OR 'BACK' OR 'CANCEL'.

  LEAVE PROGRAM.

  ENDCASE.

ENDMODULE.                 " USER_COMMAND_0014  INPUT

CONTROLS: SUB TYPE TABLEVIEW USING SCREEN '1014'.

*&---------------------------------------------------------------------*

*&      Module  STATUS_1014  OUTPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE STATUS_1014 OUTPUT.

  SET PF-STATUS 'S14'.

  SET TITLEBAR 'T14_1'.

ENDMODULE.                 " STATUS_1014  OUTPUT

*&---------------------------------------------------------------------*

*&      Module  SELECT  OUTPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE SELECT OUTPUT.

SELECT MANDT

BUKRS

HFM_DOC_NO

BUZEI

RYEAR

RPMAX

BUDAT

HKONT

HFM_BPU_CATEGORY

HFM_GL_ACC_TYPE

HFM_VALUE_TYPE

SHKZG

DMBTR

ERDAT

USNAM

HFM_APPROVER_ID

HFM_APP_DATE

HFM_APPROVED_IND

HFM_UPDATED_IND

*  UP TO 10 ROWS

  FROM ZACINFIT014HFM

  INTO TABLE GI_TABLE14

*  where hfm_doc_no = ''.

  WHERE BUKRS = gs_table14-BUKRS.

ENDMODULE.                 " SELECT  OUTPUT

*&---------------------------------------------------------------------*

*&      Module  CREATION_NAME_DATE  OUTPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE CREATION_NAME_DATE OUTPUT.

  line_count = line_count + 1.

gs_table14-buzei = line_count.

GS_TABLE14-BUKRS = gs_table14-BUKRS.

GS_TABLE14-ERDAT = SY-DATUM.

GS_TABLE14-USNAM = SY-UNAME.

ENDMODULE.                 " CREATION_NAME_DATE  OUTPUT

*&---------------------------------------------------------------------*

*&      Module  USERNAME  OUTPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE USERNAME OUTPUT.

* give the logged on user id

  l_user-sapname = sy-uname.

* get the user data

  CALL FUNCTION 'SO_USER_READ_API1'

    EXPORTING

      user      = l_user

    IMPORTING

      user_data = l_user_data.

* get the user full name

  l_fullname = l_user_data-fullname.

ENDMODULE.                 " USERNAME  OUTPUT

*&---------------------------------------------------------------------*

*&      Module  USER_COMMAND_1014  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE USER_COMMAND_1014 INPUT.

DATA: WA_ANSWER(1) TYPE C.

CASE ok_code.

  WHEN 'SAVE'.

    CALL FUNCTION 'POPUP_TO_CONFIRM'

        EXPORTING

*         TITLEBAR                    = ' '

*         DIAGNOSE_OBJECT             = ' '

          TEXT_QUESTION               = 'DO YOU WANT TO SAVE THE ENTRY'

         TEXT_BUTTON_1               = 'YES'(001)

*         ICON_BUTTON_1               = ' '

         TEXT_BUTTON_2               = 'NO'(002)

*         ICON_BUTTON_2               = ' '

         DEFAULT_BUTTON              = '1'

*         DISPLAY_CANCEL_BUTTON       = 'X'

*         USERDEFINED_F1_HELP         = ' '

*         START_COLUMN                = 25

*         START_ROW                   = 6

*         POPUP_TYPE                  =

*         IV_QUICKINFO_BUTTON_1       = ' '

*         IV_QUICKINFO_BUTTON_2       = ' '

       IMPORTING

         ANSWER                      = WA_ANSWER

*       TABLES

*         PARAMETER                   =

       EXCEPTIONS

         TEXT_NOT_FOUND              = 1

         OTHERS                      = 2

                .

      IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

      ENDIF.

IF WA_ANSWER = '1'.

*if gs_table14-shkzg ne ''.

     MODIFY GI_TABLE14 FROM GS_TABLE14 INDEX SUB-CURRENT_LINE.

*  IF SY-SUBRC <> 0 AND GS_TABLE14 IS NOT INITIAL.

**   MOVE ZACINFIT_01 TO WA_HFM.

*    APPEND GS_TABLE14 TO GI_TABLE14.

*   ENDIF.

*  modify zacinfit_01 FROM TABLE it.

MODIFY ZACINFIT014HFM from GS_TABLE14.

IF SY-SUBRC = 0.

   MESSAGE 'Database updated successfully' type 'S'.

ELSE.

   MESSAGE 'Update Failed' type 'S'.

ENDIF.

*ELSE."WA_ANSWER = 'NO'.

*LEAVE PROGRAM.

* ENDLOOP.

ELSEIF WA_ANSWER = '2'.

   MESSAGE 'ENTRY NOT SAVED' TYPE 'I'.

*   LEAVE PROGRAM.

ENDIF.

  WHEN 'ENTER'."OTHERS.

CALL FUNCTION 'POPUP_TO_CONFIRM'

        EXPORTING

*         TITLEBAR                    = ' '

*         DIAGNOSE_OBJECT             = ' '

          TEXT_QUESTION               = 'DO YOU WANT TO SAVE THE ENTRY'

         TEXT_BUTTON_1               = 'YES'(001)

*         ICON_BUTTON_1               = ' '

         TEXT_BUTTON_2               = 'NO'(002)

*         ICON_BUTTON_2               = ' '

         DEFAULT_BUTTON              = '1'

*         DISPLAY_CANCEL_BUTTON       = 'X'

*         USERDEFINED_F1_HELP         = ' '

*         START_COLUMN                = 25

*         START_ROW                   = 6

*         POPUP_TYPE                  =

*         IV_QUICKINFO_BUTTON_1       = ' '

*         IV_QUICKINFO_BUTTON_2       = ' '

       IMPORTING

         ANSWER                      = WA_ANSWER

*       TABLES

*         PARAMETER                   =

       EXCEPTIONS

         TEXT_NOT_FOUND              = 1

         OTHERS                      = 2

                .

      IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

      ENDIF.

IF WA_ANSWER = '1'.

*    MOVE gs_table14 TO GS_TABLE14.

     MODIFY GI_TABLE14 FROM GS_TABLE14 INDEX SUB-CURRENT_LINE.

*  IF SY-SUBRC <> 0 AND GS_TABLE14 IS NOT INITIAL.

**   MOVE ZACINFIT_01 TO WA_HFM.

*    APPEND GS_TABLE14 TO GI_TABLE14.

*   ENDIF.

*  modify zacinfit_01 FROM TABLE it.

MODIFY ZACINFIT014HFM from GS_TABLE14.

IF SY-SUBRC = 0.

   MESSAGE 'Database updated successfully' type 'S'.

ELSE.

   MESSAGE 'Update Failed' type 'S'.

ENDIF.

*ELSE."WA_ANSWER = 'NO'.

*LEAVE PROGRAM.

ELSEIF WA_ANSWER = '2'.

   MESSAGE 'ENTRY NOT SAVED' TYPE 'I'.

ENDIF.

ENDCASE.

ENDMODULE.                 " USER_COMMAND_1014  INPUT

*&---------------------------------------------------------------------*

*&      Module  BACK  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE BACK INPUT.

CASE ok_code.

  WHEN 'BACK'.

    LEAVE PROGRAM.

  ENDCASE.

ENDMODULE.                 " BACK  INPUT

*&---------------------------------------------------------------------*

*&      Module  DUPLICATE_ENTRY  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*MODULE DUPLICATE_ENTRY INPUT.

*SORT GI_TABLE14 BY HFM_DOC_NO.

*DELETE ADJACENT DUPLICATES FROM GI_TABLE14 COMPARING ALL FIELDS.

*select BUKRS

*       HFM_DOC_NO

*       RYEAR

*       RPMAX

*       BUDAT

*       HKONT

*       HFM_BPU_CATEGORY

*       HFM_GL_ACC_TYPE

*       HFM_VALUE_TYPE

*       SHKZG

*       DMBTR

*       ERDAT

*       USNAM

*  from zacinfit014hfm INTO CORRESPONDING FIELDS OF TABLE gi_table14.

*READ TABLE GI_TABLE14 INTO GS_TABLE14 WITH KEY HFM_DOC_NO = gs_table14-HFM_DOC_NO." TRANSPORTING NO FIELDS.

*IF sy-subrc EQ 0.

*    SET CURSOR FIELD 'GS_TABLE14-HFM_DOC_NO'.

*    MESSAGE E001 WITH 'value is already available cannot be saved'(006).

*ENDIF.

*ENDMODULE.                 " DUPLICATE_ENTRY  INPUT

regards,

S.kavitha