‎2015 Jan 16 10:50 AM
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
‎2015 Jan 16 11:12 AM
hi kavitha,
first screen is having single record or table control?
‎2015 Jan 16 11:15 AM
‎2015 Jan 16 11:40 AM
Hi
you need to pass the values from feilds of screen1 to fields of screen2.
regards
laxman
‎2015 Jan 16 4:37 PM
Hi Kavitha ,
u want the data related to the first screen fields or the data that u enter in the first screen?
Regards ,
Rocky
‎2015 Jan 17 3:57 AM
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
‎2015 Jan 17 5:44 AM
hi all,
please any help me to solve this issue.
regards,
S.Kavitha
‎2015 Jan 17 6:21 AM
just pass the values from fields of screen1 to fields of screen2.
‎2015 Jan 17 6:41 AM
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