‎2007 Apr 06 10:28 AM
Hi apapers..
I have developed one module pool prog.
&----
*& Module pool ZSD_MODULE *
*& *
&----
*& *
*& *
&----
PROGRAM ZSD_MODULE .
CONTROLS: TBLCTRL TYPE TABLEVIEW USING SCREEN 0020.
data : BEGIN OF wa_inquiry_item,
mandt LIKE zsd_spectra_inqi-mandt,
inqno LIKE zsd_spectra_inqi-inqno,
iitem LIKE zsd_spectra_inqi-iitem,
color LIKE zsd_spectra_inqi-color,
fabrc LIKE zsd_spectra_inqi-fabrc,
ingsm LIKE zsd_spectra_inqi-ingsm,
isize LIKE zsd_spectra_inqi-dia,
qpric LIKE zsd_spectra_inqi-qpric,
remrk LIKE zsd_spectra_inqi-remrk,
col_flag(1),
END OF wa_inquiry_item.
data : tb_inquiry_head like ZSD_INQUIRY_HEAD occurs 0 with header line,
wa_inquiry_head like zsd_inquiry_head,
tb_inquiry_item like wa_inquiry_item occurs 0 with header line.
*
*DATA: tb_sample LIKE IT_TAB OCCURS 0 WITH HEADER LINE.
&----
*& Module STATUS_0010 OUTPUT
&----
text
----
DATA : ok_code like sy-ucomm.
module STATUS_0010 output.
SET PF-STATUS 'M_10'.
SET TITLEBAR 'T1'.
endmodule. " STATUS_0010 OUTPUT
&----
*& Module USER_COMMAND_0010 INPUT
&----
text
----
module USER_COMMAND_0010 input.
ok_code = sy-ucomm.
case ok_code.
when 'BCK'.
LEAVE PROGRAM.
when 'CCR'.
call screen 0020.
endcase.
endmodule. " USER_COMMAND_0010 INPUT
&----
*& Module STATUS_0020 OUTPUT
&----
text
----
module STATUS_0020 output.
SET PF-STATUS 'M_20'.
SET TITLEBAR 'T2'.
endmodule. " STATUS_0020 OUTPUT
module disp_data.
endmodule.
&----
*& Module USER_COMMAND_0020 INPUT
&----
text
----
data : ZMM_FABRIC-FABCD like ZMM_FABRIC-FABCD,
ZMM_FABRIC-FABNm like zmm_fabric-fabnm.
module USER_COMMAND_0020 input.
ok_code = sy-ucomm.
case ok_code.
when 'BAC'.
leave to screen 0.
WHEN 'SAV'.
loop at tb_inquiry_item into wa_inquiry_item.
endloop.
endcase.
endmodule. " USER_COMMAND_0020 INPUT
&----
*& Module disp_data OUTPUT
&----
text
----
*module disp_data output.
SELECT * FROM ZSD_INQUIRY_ITEM INTO corresponding fields of table
tb_inquiry_item.
*select SDESC FABRC INGSM ISIZE QPRIC REMRK
*into
*(tb_inquiry_item-color,tb_inquiry_item-fabrc,tb_inquiry_item-ingsm,
tb_inquiry_item-isize, tb_inquiry_item-qpric,tb_inquiry_item-remrk)
from
ZSD_INQUIRY_ITEM.
append tb_inquiry_item.
endselect.
*
*endmodule. " disp_data OUTPUT
&----
*& Module data INPUT
&----
text
----
module data input.
endmodule. " data INPUT
&----
*& Module inquiry_tc_modify INPUT
&----
text
----
module inquiry_tc_modify input.
modify tb_inquiry_item from wa_inquiry_item.
endmodule. " inquiry_tc_modify INPUT
&----
*& Module inquiry_tc_get_lines OUTPUT
&----
text
----
module inquiry_tc_get_lines output.
DESCRIBE TABLE tb_inquiry_item LINES TBLCTRL-lines.
IF TBLCTRL-lines EQ 0.
INSERT INITIAL LINE INTO tb_inquiry_item INDEX 1.
ENDIF.
DESCRIBE TABLE tb_inquiry_item LINES TBLCTRL-lines.
endmodule. " inquiry_tc_get_lines OUTPUT
<b>Flow Logic for 0020 Screen</b>
PROCESS BEFORE OUTPUT.
loop at tb_inquiry_item into wa_inquiry_item with control TBLCTRL .
MODULE inquiry_tc_get_lines.
endloop.
MODULE STATUS_0020.
PROCESS AFTER INPUT.
LOOP AT tb_inquiry_item.
module data.
CHAIN.
FIELD WA_INQUIRY_ITEM-COLOR.
field WA_INQUIRY_ITEM-FABRC.
field WA_INQUIRY_ITEM-INGSM.
field WA_INQUIRY_ITEM-ISIZE.
field WA_INQUIRY_ITEM-QPRIC.
field WA_INQUIRY_ITEM-REMRK.
MODULE inquiry_tc_modify ON CHAIN-REQUEST.
ENDCHAIN.
ENDLOOP.
MODULE USER_COMMAND_0020.
while Runing My prog. No data fetch from database. How can i update data from screen. Can anybody modify above prog.
‎2007 Apr 06 10:40 AM
‎2007 Apr 06 10:42 AM
hi
I'm New for module prog. so i don't know abt that. i want to save item data only.
‎2007 Apr 06 10:49 AM
Hi,
check this program,this may help u.
PROGRAM ZBHTCTRL.
TABLES: LFA1, EKKO.
DATA: OKCODE1 LIKE SY-UCOMM,
OKCODE2 LIKE SY-UCOMM.
CONTROLS TABC TYPE TABLEVIEW USING SCREEN 1001.
DATA: BEGIN OF ITAB OCCURS 0,
MANDT LIKE EKKO-MANDT,
EBELN LIKE EKKO-EBELN,
BSTYP LIKE EKKO-BSTYP,
BSART LIKE EKKO-BSART,
END OF ITAB.
MODULE USER_COMMAND_1000 INPUT.
CASE OKCODE1.
WHEN 'BACK'.
SET SCREEN 0.
WHEN 'NEXT'.
SET SCREEN 1001.
SELECT * FROM EKKO INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE
LIFNR = LFA1-LIFNR.
ENDCASE.
ENDMODULE. " USER_COMMAND_1001 INPUT
MODULE MOVE_DATA OUTPUT.
EKKO-MANDT = ITAB-MANDT.
EKKO-EBELN = ITAB-EBELN.
EKKO-BSTYP = ITAB-BSTYP.
EKKO-BSART = ITAB-BSART.
ENDMODULE. " MOVE_DATA OUTPUT
MODULE USER_COMMAND_1001 INPUT.
CASE OKCODE2.
WHEN 'BACK'.
SET SCREEN 1000.
ENDCASE.
ENDMODULE. " USER_COMMAND_1001 OUTPUT
MODULE STATUS_1001 OUTPUT.
SET PF-STATUS 'MENU'.
SET TITLEBAR 'TIT'.
ENDMODULE. " STATUS_1001 OUTPUT
MODULE STATUS_1000 OUTPUT.
SET PF-STATUS 'DMENU'.
SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_1000 OUTPUT
FORM ON_CTMENU_FORM1 USING CMENU TYPE REF TO CL_CTMENU.
CALL METHOD CMENU->LOAD_GUI_STATUS
EXPORTING
PROGRAM = ' ZBHTCTRL'
STATUS = 'CMENU'
MENU = CMENU.
CALL METHOD CMENU->ADD_FUNCTION
EXPORTING
FCODE = 'RX'
TEXT = 'RECIEVE'.
ENDFORM.
FLOW LOGIC:
PROCESS BEFORE OUTPUT.
MODULE STATUS_1000.
*
PROCESS AFTER INPUT.
MODULE USER_COMMAND_1000.
PROCESS BEFORE OUTPUT.
MODULE STATUS_1001.
LOOP AT ITAB WITH CONTROL TABC CURSOR TABC-TOP_LINE.
MODULE MOVE_DATA.
ENDLOOP.
*
PROCESS AFTER INPUT.
MODULE USER_COMMAND_1001.
LOOP AT ITAB.
ENDLOOP.
rgds,
bharat.
‎2007 Apr 06 11:03 AM