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

Dialog Programming

Former Member
0 Likes
659

Hi all,

In my req. i have to create dialog program. In that i created table control to enter

item details. How can i write code to save that table control data into a table.

any one send me sample code.

Regards,

Ashwin

5 REPLIES 5
Read only

Former Member
0 Likes
631

hi,

Execute ABAPDOCU and check some of the existing examples for table control.

Regards

Subramanian

Read only

Former Member
0 Likes
631

In the PAI module of the screen add this,

PROCESS AFTER INPUT.

loop at it_bitem.

module tc_input.

endloop.

In the module write the select query from which table you have to get the values

module tc_input.

case sy-ucomm.

when''.

SELECT SINGLE cus_name city pay_term_code FROM zcust_mast INTO CORRESPONDING FIELDS

OF wa_cust_mast WHERE cus_id = zcus_id.

MODIFY it_tab_invoice INDEX tabjen-current_line.

IF sy-subrc NE 0.

APPEND it_tab_invoice.

ENDIF.

"by this you will get the values in table control.

when'SAVE'.

insert db_tab.

endcase.

endmodule.

Read only

Former Member
0 Likes
631

Please have a look at below link:

http://sap.niraj.tripod.com/id29.html

I hope it helps.

Best Regards,

Vibha

*Please mark all the helpful answers

Read only

Former Member
0 Likes
631

hi ashwin,

this is coding when you have to save selected items(row) in table control using MARK.

when 'SAVE'.

IF ( itab_ind-mark = 'X' ).

LOOP AT itab_ind WHERE mark = 'X'.

MOVE-CORRESPONDING itab_ind TO wa_ind.

DATA wa4 LIKE zpo_ind.

wa4-inh_nr = zpo_inh-inh_nr.

wa4-ind_itemnr = wa_ind-pod_itemnr.

wa4-matnr = wa_ind-matnr.

wa4-mat_price = wa_ind-pod_old_price.

wa4-ind_qty = wa_ind-pod_qty.

wa4-amount = wa_ind-amount.

APPEND wa4 TO itab_ind_save.

ENDLOOP.

LOOP AT itab_ind INTO wa_ind WHERE mark = 'X'.

DELETE TABLE itab_ind FROM wa_ind.

ENDLOOP.

rgds

Deepak

Read only

Former Member
0 Likes
631

Check the following code: it may be useful.

PROCESS BEFORE OUTPUT.

*&SPWIZARD: PBO FLOW LOGIC FOR TABLECONTROL 'TC1'

MODULE TC2_INIT.

*&SPWIZARD: MODULE TC1_CHANGE_TC_ATTR.

*&SPWIZARD: MODULE TC1_CHANGE_COL_ATTR.

LOOP AT G_TC2_ITAB

INTO G_TC2_WA

WITH CONTROL TC1

CURSOR TC2-CURRENT_LINE.

*&SPWIZARD: MODULE TC1_CHANGE_FIELD_ATTR

MODULE TC2_MOVE.

MODULE TC2_GET_LINE.

ENDLOOP.

*&SPWIZARD: PBO FLOW LOGIC FOR TABLECONTROL 'TC1'

MODULE TC1_INIT.

*&SPWIZARD: MODULE TC1_CHANGE_TC_ATTR.

*&SPWIZARD: MODULE TC1_CHANGE_COL_ATTR.

LOOP AT G_TC1_ITAB

INTO G_TC1_WA

WITH CONTROL TC1

CURSOR TC1-CURRENT_LINE.

*&SPWIZARD: MODULE TC1_CHANGE_FIELD_ATTR

MODULE TC1_MOVE.

MODULE TC1_GET_LINES.

ENDLOOP.

MODULE STATUS_0100.

PROCESS AFTER INPUT.

*&SPWIZARD: PAI FLOW LOGIC FOR TABLECONTROL 'TC2'

LOOP AT G_TC2_ITAB.

CHAIN.

FIELD MARA-MATNR.

FIELD MARA-WESCH.

FIELD MARA-ERGEW.

MODULE TC2_MODIFY ON CHAIN-REQUEST.

ENDCHAIN.

MODULE DEL_MAT.

ENDLOOP.

*&SPWIZARD: MODULE TC2_CHANGE_TC_ATTR.

*&SPWIZARD: MODULE TC2_CHANGE_COL_ATTR.

*&SPWIZARD: PAI FLOW LOGIC FOR TABLECONTROL 'TC1'

LOOP AT G_TC1_ITAB.

CHAIN.

FIELD ZFG_SRNO-ZSRNO.

MODULE TC1_MODIFY ON CHAIN-REQUEST.

ENDCHAIN.

MODULE DEL_REC.

ENDLOOP.

*&SPWIZARD: MODULE TC1_CHANGE_TC_ATTR.

*&SPWIZARD: MODULE TC1_CHANGE_COL_ATTR.

MODULE TC1_USER_COMMAND.

PROGRAM ZSD_SRNO_READ MESSAGE-ID ZZS

NO STANDARD PAGE HEADING.

***&SPWIZARD: DATA DECLARATION FOR TABLECONTROL 'TC1'

*&SPWIZARD: DEFINITION OF DDIC-TABLE

TABLES: ZFG_SRNO.

*&SPWIZARD: TYPE FOR THE DATA OF TABLECONTROL 'TC1'

TYPES: BEGIN OF T_TC1,

ZSRNO LIKE ZFG_SRNO-ZSRNO,

END OF T_TC1.

*&SPWIZARD: INTERNAL TABLE FOR TABLECONTROL 'TC1'

DATA: G_TC1_ITAB TYPE T_TC1 OCCURS 0 WITH HEADER LINE,

G_TC1_WA TYPE T_TC1. "work area

DATA: G_TC1_COPIED. "copy flag

*&SPWIZARD: DECLARATION OF TABLECONTROL 'TC1' ITSELF

CONTROLS: TC1 TYPE TABLEVIEW USING SCREEN 0100.

*&SPWIZARD: LINES OF TABLECONTROL 'TC1'

DATA: G_TC1_LINES LIKE SY-LOOPC.

DATA: OK_CODE LIKE SY-UCOMM.

DATA: S_CODE LIKE SY-UCOMM,

SL.

DATA: TXT1 LIKE ZFG_SRNO-ZSRNO.

DATA: MQTY1(10) TYPE N,

MQTY2(3) TYPE N,

MQTY(15) TYPE C.

**DECLARTION FOR TABLE CONTROL TC2.

***&SPWIZARD: DATA DECLARATION FOR TABLECONTROL 'TC2'

*&SPWIZARD: DEFINITION OF DDIC-TABLE

TABLES: MARA.

*&SPWIZARD: TYPE FOR THE DATA OF TABLECONTROL 'TC2'

TYPES: BEGIN OF T_TC2,

MATNR LIKE MARA-MATNR,

WESCH LIKE MARA-WESCH,

ERGEW LIKE MARA-ERGEW,

END OF T_TC2.

*&SPWIZARD: INTERNAL TABLE FOR TABLECONTROL 'TC2'

DATA: G_TC2_ITAB TYPE T_TC2 OCCURS 0 WITH HEADER LINE,

G_TC2_WA TYPE T_TC2. "work area

DATA: G_TC2_COPIED. "copy flag

DATA: G_TC2_LINES LIKE SY-LOOPC.

DATA: DL.

DATA: BEGIN OF IT_MATNR OCCURS 0,

MATNR LIKE MARA-MATNR,

END OF IT_MATNR.

*&SPWIZARD: DECLARATION OF TABLECONTROL 'TC2' ITSELF

CONTROLS: TC2 TYPE TABLEVIEW USING SCREEN 0100.

******END OF DECLARATION FOR TC2.

DATA: G_QTY LIKE MARA-WESCH.

DATA: G_IDX LIKE SY-TABIX.

*&SPWIZARD: OUTPUT MODULE FOR TC 'TC1'. DO NOT CHANGE THIS LINE!

*&SPWIZARD: COPY DDIC-TABLE TO ITAB

MODULE TC1_INIT OUTPUT.

DATA: L_FL(1).

  • IF G_TC1_COPIED IS INITIAL.

*&SPWIZARD: COPY DDIC-TABLE 'ZFG_SRNO'

*&SPWIZARD: INTO INTERNAL TABLE 'g_TC1_itab'

  • SELECT * FROM ZFG_SRNO

  • INTO CORRESPONDING FIELDS

  • OF TABLE G_TC1_ITAB.

  • G_TC1_COPIED = 'X'.

*Input Text field should not be space.

IF TXT1 <> SPACE.

CLEAR L_FL.

*If the serial already scanned, do not allow duplicate

READ TABLE G_TC1_ITAB WITH KEY ZSRNO = TXT1.

IF SY-SUBRC = 0.

MESSAGE I022 WITH TXT1.

clear TXT1.

L_FL = 'X'.

ENDIF.

IF L_FL IS INITIAL.

*If the Serial No is exists then accept otherwise reject.

SELECT SINGLE * FROM ZFG_SRNO WHERE ZSRNO = TXT1.

IF SY-SUBRC = 0.

READ TABLE G_TC2_ITAB WITH KEY MATNR = ZFG_SRNO-MATNR.

IF SY-SUBRC = 0.

G_IDX = SY-TABIX.

MOVE TXT1 TO G_TC1_ITAB-ZSRNO.

APPEND G_TC1_ITAB.

CLEAR TXT1.

REFRESH CONTROL 'TC1' FROM SCREEN '0100'.

ELSE.

MESSAGE I028.

CLEAR TXT1.

ENDIF.

ELSE.

MESSAGE I021 WITH TXT1.

CLEAR TXT1.

ENDIF.

ENDIF.

ENDIF.

ENDMODULE. "TC1_INIT OUTPUT

*&SPWIZARD: OUTPUT MODULE FOR TC 'TC1'. DO NOT CHANGE THIS LINE!

*&SPWIZARD: MOVE ITAB TO DYNPRO

MODULE TC1_MOVE OUTPUT.

MOVE-CORRESPONDING G_TC1_WA TO ZFG_SRNO.

tc1-lines = G_TC1_LINES + 2000.

ENDMODULE. "TC1_MOVE OUTPUT

*&SPWIZARD: OUTPUT MODULE FOR TC 'TC1'. DO NOT CHANGE THIS LINE!

*&SPWIZARD: GET LINES OF TABLECONTROL

MODULE TC1_GET_LINES OUTPUT.

G_TC1_LINES = SY-LOOPC.

ENDMODULE. "TC1_GET_LINES OUTPUT

*&SPWIZARD: INPUT MODULE FOR TC 'TC1'. DO NOT CHANGE THIS LINE!

*&SPWIZARD: MODIFY TABLE

MODULE TC1_MODIFY INPUT.

MOVE-CORRESPONDING ZFG_SRNO TO G_TC1_WA.

MODIFY G_TC1_ITAB

FROM G_TC1_WA

INDEX TC1-CURRENT_LINE.

ENDMODULE. "TC1_MODIFY INPUT

*&SPWIZARD: INPUT MODULE FOR TC 'TC1'. DO NOT CHANGE THIS LINE!

*&SPWIZARD: PROCESS USER COMMAND

MODULE TC1_USER_COMMAND INPUT.

OK_CODE = SY-UCOMM.

PERFORM USER_OK_TC USING 'TC1'

'G_TC1_ITAB'

'FLAG'

CHANGING OK_CODE.

SY-UCOMM = OK_CODE.

ENDMODULE. "TC1_USER_COMMAND INPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE USER_COMMAND_0100 INPUT.

DATA: L_ID(14) TYPE C,

L_FLAG(1),

L_AN(1),

L_INF(50) TYPE C,

INF(50),

ANS1.

OK_CODE = SY-UCOMM.

S_CODE = OK_CODE.

CLEAR OK_CODE.

CASE S_CODE.

WHEN 'SAVE'.

IF NOT G_TC1_ITAB[] IS INITIAL.

CLEAR L_AN.

CALL FUNCTION 'POPUP_TO_CONFIRM'

EXPORTING

TITLEBAR = 'Confirmation'

  • DIAGNOSE_OBJECT = ' '

TEXT_QUESTION = 'Create Dispatch ID'

TEXT_BUTTON_1 = 'YES'

  • ICON_BUTTON_1 = ' '

TEXT_BUTTON_2 = 'NO'

  • ICON_BUTTON_2 = ' '

  • DEFAULT_BUTTON = '1'

DISPLAY_CANCEL_BUTTON = ' '

  • USERDEFINED_F1_HELP = ' '

  • START_COLUMN = 25

  • START_ROW = 6

  • POPUP_TYPE =

  • IV_QUICKINFO_BUTTON_1 = ' '

  • IV_QUICKINFO_BUTTON_2 = ' '

IMPORTING

ANSWER = L_AN.

  • 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 L_AN = '1'.

CLEAR: L_ID, L_FLAG.

CONCATENATE SY-DATUM SY-UZEIT INTO L_ID.

LOOP AT G_TC1_ITAB.

UPDATE ZFG_SRNO SET ZDESID = L_ID

WHERE ZSRNO = G_TC1_ITAB-ZSRNO.

COMMIT WORK.

L_FLAG = 'X'.

ENDLOOP.

IF NOT L_FLAG IS INITIAL.

CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'

EXPORTING

TITEL = 'ID'

TEXTLINE1 = 'Created ID is'

TEXTLINE2 = L_ID

  • START_COLUMN = 26

  • START_ROW = 6

.

clear zfg_srno.

Refresh : G_tc1_itab.

clear: g_tc1_itab, g_tc1_wa.

REFRESH CONTROL 'TC1' FROM SCREEN '0100'.

REFRESH: G_TC2_ITAB.

CLEAR : G_TC2_ITAB, G_TC2_WA.

REFRESH CONTROL 'TC2' FROM SCREEN '0100'.

ENDIF.

CLEAR: L_AN, S_CODE.

ENDIF.

ENDIF.

WHEN 'EX'.

CLEAR S_CODE.

LEAVE PROGRAM.

WHEN 'DEL1'.

*it is to delete Material Maintainance Record.

IF NOT G_TC2_WA IS INITIAL.

clear: INF, ans1.

READ TABLE G_TC2_ITAB INDEX TC2-CURRENT_LINE.

IF SY-SUBRC = 0.

IF G_TC2_ITAB-ERGEW = '0.000'.

Concatenate 'Delete Material.' g_tc2_ITAB-matnr into inf.

CALL FUNCTION 'POPUP_TO_CONFIRM'

EXPORTING

TITLEBAR = 'Confirm'

  • DIAGNOSE_OBJECT = ' '

TEXT_QUESTION = inf

TEXT_BUTTON_1 = 'YES'

  • ICON_BUTTON_1 = ' '

TEXT_BUTTON_2 = 'NO'

  • ICON_BUTTON_2 = ' '

  • DEFAULT_BUTTON = '1'

DISPLAY_CANCEL_BUTTON = ' '

  • USERDEFINED_F1_HELP = ' '

  • START_COLUMN = 25

  • START_ROW = 6

  • POPUP_TYPE =

  • IV_QUICKINFO_BUTTON_1 = ' '

  • IV_QUICKINFO_BUTTON_2 = ' '

IMPORTING

ANSWER = ans1

  • 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 ans1 = '1'.

CLEAR G_IDX.

DELETE G_TC2_ITAB INDEX TC2-CURRENT_LINE.

IF NOT G_TC2_ITAB[] IS INITIAL.

DESCRIBE TABLE G_TC2_ITAB LINES TC2-LINES.

ELSE.

REFRESH CONTROL 'TC2' FROM SCREEN '0100'.

ENDIF.

ENDIF.

clear: DL, ans1, txt1.

ELSE.

MESSAGE I030.

ENDIF.

ENDIF.

ENDIF.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

&----


*& Module DEL_REC INPUT

&----


  • text

----


MODULE DEL_REC INPUT.

data: txt(50) type c,

ans(1).

OK_CODE = SY-UCOMM.

S_CODE = OK_CODE.

CLEAR OK_CODE.

**SL is name given in Table Attricbue w/Selection col field.

IF SL = 'X' AND S_CODE = 'DEL'.

IF G_TC1_WA-ZSRNO <> SPACE.

clear: txt, ans.

Concatenate 'Delete Serial No.' g_tc1_wa-zsrno into txt.

CALL FUNCTION 'POPUP_TO_CONFIRM'

EXPORTING

TITLEBAR = 'Confirm'

  • DIAGNOSE_OBJECT = ' '

TEXT_QUESTION = txt

TEXT_BUTTON_1 = 'YES'

  • ICON_BUTTON_1 = ' '

TEXT_BUTTON_2 = 'NO'

  • ICON_BUTTON_2 = ' '

  • DEFAULT_BUTTON = '1'

DISPLAY_CANCEL_BUTTON = ' '

  • USERDEFINED_F1_HELP = ' '

  • START_COLUMN = 25

  • START_ROW = 6

  • POPUP_TYPE =

  • IV_QUICKINFO_BUTTON_1 = ' '

  • IV_QUICKINFO_BUTTON_2 = ' '

IMPORTING

ANSWER = ans

  • 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 ans = '1'.

CLEAR G_IDX.

DELETE TABLE G_TC1_ITAB FROM G_TC1_WA.

DESCRIBE TABLE G_TC1_ITAB LINES TC1-LINES.

SELECT SINGLE * FROM ZFG_SRNO

WHERE ZSRNO = G_TC1_WA-ZSRNO.

IF SY-SUBRC = 0.

READ TABLE G_TC2_ITAB

WITH KEY MATNR = ZFG_SRNO-MATNR.

IF SY-SUBRC = 0.

G_IDX = SY-TABIX.

G_QTY = G_TC2_ITAB-ERGEW - '1.000'.

G_TC2_ITAB-ERGEW = G_QTY.

MODIFY G_TC2_ITAB INDEX G_IDX.

DESCRIBE TABLE G_TC2_ITAB LINES TC2-LINES.

ENDIF.

ENDIF.

clear: SL, ans, S_CODE.

endif.

ENDIF.

ENDIF.

ENDMODULE. " DEL_REC INPUT

*&SPWIZARD: OUTPUT MODULE FOR TC 'TC2'. DO NOT CHANGE THIS LINE!

*&SPWIZARD: COPY DDIC-TABLE TO ITAB

MODULE TC2_INIT OUTPUT.

  • IF G_TC2_COPIED IS INITIAL.

**&SPWIZARD: COPY DDIC-TABLE 'MARA'

**&SPWIZARD: INTO INTERNAL TABLE 'g_TC2_itab'

  • SELECT * FROM MARA

  • INTO CORRESPONDING FIELDS

  • OF TABLE G_TC2_ITAB.

  • G_TC2_COPIED = 'X'.

  • REFRESH CONTROL 'TC2' FROM SCREEN '0100'.

  • ENDIF.

*If the Material is not present in the Master table then throw an error.

SELECT MATNR FROM MARA INTO CORRESPONDING FIELDS OF TABLE IT_MATNR.

IF S_CODE = 'DEL1'.

*If the Fcode is to delete the records after deleting record,clear the

*work area.

CLEAR : G_TC2_WA, S_CODE.

ENDIF.

IF NOT G_TC2_WA IS INITIAL.

READ TABLE G_TC2_ITAB INDEX TC2-CURRENT_LINE.

  • If it is a new record then append the internal table.

IF SY-SUBRC <> 0.

APPEND G_TC2_WA TO G_TC2_ITAB .

REFRESH CONTROL 'TC2' FROM SCREEN '0100'.

ELSE.

IF TXT1 <> SPACE.

CLEAR L_FL.

*If the serial already scanned, do not allow duplicate

READ TABLE G_TC1_ITAB WITH KEY ZSRNO = TXT1.

IF SY-SUBRC = 0.

L_FL = 'X'.

ENDIF.

IF L_FL IS INITIAL.

*If the Serial No is exists then accept otherwise reject.

SELECT SINGLE * FROM ZFG_SRNO WHERE ZSRNO = TXT1.

IF SY-SUBRC = 0.

READ TABLE G_TC2_ITAB WITH KEY MATNR = ZFG_SRNO-MATNR.

IF SY-SUBRC = 0.

*After scaning increment the quantity of that material by 1.

G_IDX = SY-TABIX.

G_QTY = G_TC2_ITAB-ERGEW + '1.000'.

IF G_QTY > G_TC2_ITAB-WESCH.

MESSAGE I027.

CLEAR : G_QTY, TXT1.

ELSE.

G_TC2_ITAB-ERGEW = G_QTY.

MODIFY G_TC2_ITAB INDEX G_IDX.

REFRESH CONTROL 'TC2' FROM SCREEN '0100'.

ENDIF.

ELSE.

MESSAGE I028.

ENDIF.

ENDIF.

CLEAR : L_FL, G_QTY.

ENDIF.

ENDIF.

ENDIF.

ENDIF.

ENDMODULE. "TC2_INIT OUTPUT

*&SPWIZARD: OUTPUT MODULE FOR TC 'TC2'. DO NOT CHANGE THIS LINE!

*&SPWIZARD: MOVE ITAB TO DYNPRO

MODULE TC2_MOVE OUTPUT.

MOVE-CORRESPONDING G_TC2_WA TO MARA.

TC2-LINES = G_TC2_LINES + 2000.

ENDMODULE. "TC2_MOVE OUTPUT

*&SPWIZARD: INPUT MODULE FOR TC 'TC2'. DO NOT CHANGE THIS LINE!

*&SPWIZARD: MODIFY TABLE

MODULE TC2_MODIFY INPUT.

  • IF G_QTY IS INITIAL.

*Check the material in master table.

READ TABLE IT_MATNR WITH KEY MATNR = MARA-MATNR.

IF SY-SUBRC = 0.

*If it presents then move to workarea.

MOVE-CORRESPONDING MARA TO G_TC2_WA.

*Do not allow to enter the decimal value to be greater than zero.

MQTY = G_TC2_WA-WESCH.

SPLIT MQTY AT '.' INTO MQTY1 MQTY2.

IF MQTY2 > 0.

MESSAGE E023.

CLEAR : MQTY1, MQTY2.

ENDIF.

IF NOT G_TC2_WA IS INITIAL.

READ TABLE G_TC2_ITAB INDEX TC2-CURRENT_LINE.

IF SY-SUBRC = 0.

  • quantity should be greater than zero.

IF G_TC2_ITAB-ERGEW <> '0.000'.

IF G_TC2_WA-WESCH < G_TC2_ITAB-ERGEW.

MESSAGE I029.

CLEAR : TXT1 , G_TC2_WA..

ENDIF.

ENDIF.

IF NOT G_TC2_WA IS INITIAL.

READ TABLE G_TC2_ITAB WITH

KEY MATNR = G_TC2_WA-MATNR .

IF SY-SUBRC = 0.

CLEAR G_IDX.

G_IDX = SY-TABIX.

*When they try to modify the material code, do not allow duplicates

IF TC2-CURRENT_LINE <> G_IDX.

MESSAGE E024.

ELSE.

*Quantity should be greater than zero.

IF G_TC2_WA-WESCH <= '0.000'.

MESSAGE E025.

ELSE.

*Modify the existing record.

MODIFY G_TC2_ITAB

FROM G_TC2_WA

INDEX TC2-CURRENT_LINE.

ENDIF.

ENDIF.

ELSE.

IF G_TC2_WA-WESCH <= '0.000'.

MESSAGE E025.

ELSE.

MODIFY G_TC2_ITAB

FROM G_TC2_WA

INDEX TC2-CURRENT_LINE.

ENDIF.

ENDIF.

ENDIF.

ELSE.

READ TABLE G_TC2_ITAB WITH

KEY MATNR = G_TC2_WA-MATNR .

IF SY-SUBRC = 0.

MESSAGE I024.

ELSE.

IF G_TC2_WA-WESCH <= '0.000'.

MESSAGE E025.

ELSE.

*If it is new record, then append to internal table

APPEND G_TC2_WA TO G_TC2_ITAB .

REFRESH CONTROL 'TC2' FROM SCREEN '0100'.

ENDIF.

ENDIF.

ENDIF.

ENDIF.

ELSE.

MESSAGE I026.

ENDIF.

  • ELSE.

  • MODIFY G_TC2_ITAB

  • INDEX G_IDX.

  • CLEAR : G_IDX, G_QTY, MARA.

  • ENDIF.

ENDMODULE. "TC2_MODIFY INPUT

&----


*& Module TC2_GET_LINE OUTPUT

&----


  • text

----


MODULE TC2_GET_LINE OUTPUT.

G_TC2_LINES = SY-LOOPC.

ENDMODULE. " TC2_GET_LINE OUTPUT

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE STATUS_0100 OUTPUT.

  • SET PF-STATUS 'xxxxxxxx'.

SET TITLEBAR 'BTIT'.

ENDMODULE. " STATUS_0100 OUTPUT