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

MODULE POOLL PROGRAMING WITH TABLE CONTROL

Former Member
0 Likes
497

hi all,

in table control update, edit, delete

please give me the solution

in pai

where i can write

module

regards

3 REPLIES 3
Read only

former_member745780
Active Participant
Read only

Former Member
0 Likes
458

&----


*& Include ZPPCONFI01

&----


&----


*& Module USER_COMMAND_9100 INPUT

&----


  • text

----


module USER_COMMAND_9100 input.

CASE OK_CODE.

WHEN 'FCAST'.

*&& CASTING

if sy-uname = 'PTEAM' .

CALL SCREEN 9200.

else.

message 'No Autorization' type 'I'.

endif.

CLEAR OK_CODE.

*&& INSPECTION

WHEN 'FINSP'.

if sy-uname = 'PTEAM' .

CALL SCREEN 9300.

else.

message 'No Autorization' type 'I'.

endif.

CLEAR OK_CODE.

WHEN 'FGLAZ'.

if sy-uname = 'PTEAM' .

CALL SCREEN 9400.

else.

message 'No Autorization' type 'I'.

endif.

CLEAR OK_CODE.

WHEN 'FMOUL'.

if sy-uname = 'PTEAM' .

CALL SCREEN 9500.

else.

message 'No Autorization' type 'I'.

endif.

CLEAR OK_CODE.

when 'BACK'.

CLEAR : I_TAB, I_TAB1.

REFRESH : I_TAB1.

leave program.

ENDCASE.

endmodule. " USER_COMMAND_9100 INPUT

&----


*& Module USER_COMMAND_9200 INPUT

&----


  • text

----


module USER_COMMAND_9200 input.

CASE OK_CODE1.

WHEN 'GO'.

*ROUTINE GETDATA

PERFORM GETDATA.

CLEAR OK_CODE1.

*&& BACK

when 'CANCEL'.

leave program.

WHEN 'BACK'.

CLEAR : I_TAB, I_TAB1,AFKO-PLNBEZ,ZMATKL,T001W-WERKS,AFKO-GSTRP,flag,count,qtyflag.

REFRESH : I_TAB1.

LEAVE TO SCREEN 9100.

*&& SAVE INSERT DATA TO ZPPT_CONFIRM

WHEN 'SAVE'.

data : co type C,

del type c.

LOOP AT I_TAB1.

IF I_TAB1-LMNGA IS NOT INITIAL OR

I_TAB1-LMNGA1 IS NOT INITIAL. "OR

  • I_TAB1-XMNGA IS NOT INITIAL.

if I_TAB1-EMPNO <> space and I_TAB1-EMPNO+0(1) <> 'P'.

  • MESSAGE I991(ZMESSAGE) with 'ENTER INSPECTOR NUMBER at Line' sy-tabix.

continue.

endif.

clear : v_charg.

SELECT single CHARG FROM MCHB into v_charg

WHERE LGORT = '1080'

AND LVORM <> 'X'

AND CHARG = I_TAB1-CHARG.

if sy-subrc <> 0.

Message 'Enter correct batch' type 'W'.

continue.

endif.

IF I_TAB1-LMNGA IS NOT INITIAL AND

I_TAB1-CHARG IS INITIAL.

MESSAGE 'Enter Batch' TYPE 'S'.

ELSE.

*&& ACTIVITY 10

ZPPT_CONFIRM-CDATE = SY-DATUM.

ZPPT_CONFIRM-CTIME = SY-UZEIT.

ZPPT_CONFIRM-PDATE = afko-gstrp.

ZPPT_CONFIRM-WERKS = T001W-WERKS.

ZPPT_CONFIRM-DISPO = '103'. "MRP CONTROLLER

ZPPT_CONFIRM-VORNR = '0010'.

ZPPT_CONFIRM-AUFNR = I_TAB1-AUFNR. "ORDER NO

ZPPT_CONFIRM-ZSUPNO = ZPP_SUP_MRP-ZSUPNO.

ZPPT_CONFIRM-AUFART = 'ZH23'. "ORDER TYPE

ZPPT_CONFIRM-MATNR = I_TAB1-PLNBEZ. "MATERIAL

ZPPT_CONFIRM-MAKTX = I_TAB1-WGBEZ.

ZPPT_CONFIRM-GAMNG = I_TAB1-GAMNG.

ZPPT_CONFIRM-LMNGA = I_TAB1-LMNGA. "MOULD FILL

  • ZPPT_CONFIRM-GRUND = I_TAB1-GRUND. "reason for scrap

ZPPT_CONFIRM-ZSUPNAME = SNAME. "supervioser name

ZPPT_CONFIRM-CHARG = I_TAB1-CHARG. "batch

ZPPT_CONFIRM-ZHODNO = V_ZHODNO.

ZPPT_CONFIRM-FEVOR = V_PRDSCHED. "PRODUCT SCHEDULER

ZPPT_CONFIRM-PERNR = I_TAB1-pernr.

ZPPT_CONFIRM-ENAME = I_TAB1-ENAME.

ZPPT_CONFIRM-ZUSER = sy-uname.

sno = sno + 1.

ZPPT_CONFIRM-sno = sno.

INSERT ZPPT_CONFIRM.

CLEAR ZPPT_CONFIRM.

*&& ACTIVITY 20

if I_TAB1-XMNGA1 <> space.

ZPPT_CONFIRM-CDATE = SY-DATUM.

ZPPT_CONFIRM-CTIME = SY-UZEIT.

ZPPT_CONFIRM-PDATE = afko-gstrp.

ZPPT_CONFIRM-WERKS = T001W-WERKS.

ZPPT_CONFIRM-DISPO = '103'.

ZPPT_CONFIRM-VORNR = '0020'.

ZPPT_CONFIRM-AUFNR = I_TAB1-AUFNR.

ZPPT_CONFIRM-ZSUPNO = ZPP_SUP_MRP-ZSUPNO.

ZPPT_CONFIRM-AUFART = 'ZH23'.

ZPPT_CONFIRM-MATNR = I_TAB1-PLNBEZ.

ZPPT_CONFIRM-MAKTX = I_TAB1-WGBEZ.

ZPPT_CONFIRM-GAMNG = I_TAB1-GAMNG.

ZPPT_CONFIRM-XMNGA = I_TAB1-XMNGA1. "SCARP

if I_TAB1-XMNGA1 is NOT INITIAL.

ZPPT_CONFIRM-LMNGA = I_TAB1-LMNGA1. "CARRYOUT

ZPPT_CONFIRM-GRUND = '0001'. "reason for scrap

CO = 'X'.

endif.

ZPPT_CONFIRM-ZSUPNAME = SNAME.

  • ZPPT_CONFIRM-CHARG = I_TAB1-CHARG.

ZPPT_CONFIRM-ZHODNO = V_ZHODNO.

ZPPT_CONFIRM-FEVOR = V_PRDSCHED.

ZPPT_CONFIRM-PERNR = I_TAB1-pernr.

ZPPT_CONFIRM-ENAME = I_TAB1-ENAME.

ZPPT_CONFIRM-ZUSER = sy-uname.

sno = sno + 1.

ZPPT_CONFIRM-sno = sno.

INSERT ZPPT_CONFIRM.

CLEAR ZPPT_CONFIRM.

endif.

if I_TAB1-XMNGA2 <> space.

ZPPT_CONFIRM-CDATE = SY-DATUM.

ZPPT_CONFIRM-CTIME = SY-UZEIT.

ZPPT_CONFIRM-PDATE = afko-gstrp.

ZPPT_CONFIRM-WERKS = T001W-WERKS.

ZPPT_CONFIRM-DISPO = '103'.

ZPPT_CONFIRM-VORNR = '0020'.

ZPPT_CONFIRM-AUFNR = I_TAB1-AUFNR.

ZPPT_CONFIRM-ZSUPNO = ZPP_SUP_MRP-ZSUPNO.

ZPPT_CONFIRM-AUFART = 'ZH23'.

ZPPT_CONFIRM-MATNR = I_TAB1-PLNBEZ.

ZPPT_CONFIRM-MAKTX = I_TAB1-WGBEZ.

ZPPT_CONFIRM-GAMNG = I_TAB1-GAMNG.

  • ZPPT_CONFIRM-LMNGA = I_TAB1-LMNGA1. "CARRYOUT

ZPPT_CONFIRM-XMNGA = I_TAB1-XMNGA2. "SCARP

if I_TAB1-XMNGA2 is NOT INITIAL.

ZPPT_CONFIRM-GRUND = '0002'. "reason for scrap

if co <> 'X'.

ZPPT_CONFIRM-LMNGA = I_TAB1-LMNGA1. "CARRYOUT

co = 'X'.

endif.

endif.

ZPPT_CONFIRM-ZSUPNAME = SNAME.

  • ZPPT_CONFIRM-CHARG = I_TAB1-CHARG.

ZPPT_CONFIRM-ZHODNO = V_ZHODNO.

ZPPT_CONFIRM-FEVOR = V_PRDSCHED.

ZPPT_CONFIRM-PERNR = I_TAB1-pernr.

ZPPT_CONFIRM-ENAME = I_TAB1-ENAME.

ZPPT_CONFIRM-ZUSER = sy-uname.

sno = sno + 1.

ZPPT_CONFIRM-sno = sno.

INSERT ZPPT_CONFIRM.

CLEAR ZPPT_CONFIRM.

endif.

if I_TAB1-XMNGA3 <> space.

ZPPT_CONFIRM-CDATE = SY-DATUM.

ZPPT_CONFIRM-CTIME = SY-UZEIT.

ZPPT_CONFIRM-PDATE = afko-gstrp.

ZPPT_CONFIRM-WERKS = T001W-WERKS.

ZPPT_CONFIRM-DISPO = '103'.

ZPPT_CONFIRM-VORNR = '0020'.

ZPPT_CONFIRM-AUFNR = I_TAB1-AUFNR.

ZPPT_CONFIRM-ZSUPNO = ZPP_SUP_MRP-ZSUPNO.

ZPPT_CONFIRM-AUFART = 'ZH23'.

ZPPT_CONFIRM-MATNR = I_TAB1-PLNBEZ.

ZPPT_CONFIRM-MAKTX = I_TAB1-WGBEZ.

ZPPT_CONFIRM-GAMNG = I_TAB1-GAMNG.

  • ZPPT_CONFIRM-LMNGA = I_TAB1-LMNGA1. "CARRYOUT

ZPPT_CONFIRM-XMNGA = I_TAB1-XMNGA3. "SCARP

if I_TAB1-XMNGA3 is NOT INITIAL.

ZPPT_CONFIRM-GRUND = '0003'. "reason for scrap

if co <> 'X'.

ZPPT_CONFIRM-LMNGA = I_TAB1-LMNGA1. "CARRYOUT

co = 'X'.

endif.

endif.

ZPPT_CONFIRM-ZSUPNAME = SNAME.

  • ZPPT_CONFIRM-CHARG = I_TAB1-CHARG.

ZPPT_CONFIRM-ZHODNO = V_ZHODNO.

ZPPT_CONFIRM-FEVOR = V_PRDSCHED.

ZPPT_CONFIRM-PERNR = I_TAB1-pernr.

ZPPT_CONFIRM-ENAME = I_TAB1-ENAME.

ZPPT_CONFIRM-ZUSER = sy-uname.

sno = sno + 1.

ZPPT_CONFIRM-sno = sno.

INSERT ZPPT_CONFIRM.

CLEAR ZPPT_CONFIRM.

endif.

if I_TAB1-XMNGA4 <> space.

ZPPT_CONFIRM-CDATE = SY-DATUM.

ZPPT_CONFIRM-CTIME = SY-UZEIT.

ZPPT_CONFIRM-PDATE = afko-gstrp.

ZPPT_CONFIRM-WERKS = T001W-WERKS.

ZPPT_CONFIRM-DISPO = '103'.

ZPPT_CONFIRM-VORNR = '0020'.

ZPPT_CONFIRM-AUFNR = I_TAB1-AUFNR.

ZPPT_CONFIRM-ZSUPNO = ZPP_SUP_MRP-ZSUPNO.

ZPPT_CONFIRM-AUFART = 'ZH23'.

ZPPT_CONFIRM-MATNR = I_TAB1-PLNBEZ.

ZPPT_CONFIRM-MAKTX = I_TAB1-WGBEZ.

ZPPT_CONFIRM-GAMNG = I_TAB1-GAMNG.

  • ZPPT_CONFIRM-LMNGA = I_TAB1-LMNGA1. "CARRYOUT

ZPPT_CONFIRM-XMNGA = I_TAB1-XMNGA4. "SCARP

if I_TAB1-XMNGA4 is NOT INITIAL.

ZPPT_CONFIRM-GRUND = '0004'. "reason for scrap

if co <> 'X'.

ZPPT_CONFIRM-LMNGA = I_TAB1-LMNGA1. "CARRYOUT

co = 'X'.

endif.

endif.

ZPPT_CONFIRM-ZSUPNAME = SNAME.

  • ZPPT_CONFIRM-CHARG = I_TAB1-CHARG.

ZPPT_CONFIRM-ZHODNO = V_ZHODNO.

ZPPT_CONFIRM-FEVOR = V_PRDSCHED.

ZPPT_CONFIRM-PERNR = I_TAB1-pernr.

ZPPT_CONFIRM-ENAME = I_TAB1-ENAME.

ZPPT_CONFIRM-ZUSER = sy-uname.

sno = sno + 1.

ZPPT_CONFIRM-sno = sno.

INSERT ZPPT_CONFIRM.

CLEAR ZPPT_CONFIRM.

endif.

IF SY-SUBRC = 0.

DELETE TABLE I_TAB1 FROM I_TAB1.

ENDIF.

CLEAR ZPPT_CONFIRM.

ENDIF.

ENDIF.

ENDLOOP.

CLEAR OK_CODE1.

ENDCASE.

endmodule. " USER_COMMAND_9200 INPUT

&----


*& Form GETDATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form GETDATA .

refresh i_tab1.

V_DATE = AFKO-GSTRP.

SELECT SINGLE FEVOR ZHODNO FROM ZPP_SUP_MRP INTO (V_PRDSCHED, V_ZHODNO)

WHERE ZSUPNO = ZPP_SUP_MRP-ZSUPNO.

if sy-subrc = 0.

CALL FUNCTION 'HR_JP_MONTH_BEGIN_END_DATE'

EXPORTING

iv_date = V_DATE

IMPORTING

EV_MONTH_BEGIN_DATE = sdate

EV_MONTH_END_DATE = edate.

SELECT SINGLE ENAME FROM PA0001 INTO SNAME WHERE PERNR = ZPP_SUP_MRP-ZSUPNO

AND ENDDA = '99991231'.

IF AFKO-PLNBEZ IS NOT INITIAL.

select A~AUFNR

A~PLNBEZ

A~GAMNG

INTO corresponding fields of TABLE I_TAB1

FROM AFKO AS A

JOIN AFPO AS B ON

AAUFNR = BAUFNR

JOIN AUFK AS C ON

AAUFNR = CAUFNR

JOIN JEST AS D ON

COBJNR = DOBJNR

WHERE A~FEVOR = V_PRDSCHED

AND A~PLNBEZ = AFKO-PLNBEZ

AND A~DISPO = '103'

AND A~GLTRP between sdate and edate

AND B~DAUAT = 'ZH23'

AND B~PWERK = T001W-WERKS

AND D~STAT = 'I0002'

AND D~INACT <> 'X'.

IF SY-SUBRC = 0.

ccontrol-lines = sy-dbcnt.

LOOP AT I_TAB1.

SELECT SINGLE WGBEZ FROM T023T INTO I_TAB1-WGBEZ

WHERE MATKL = I_TAB1-PLNBEZ+0(7)

AND SPRAS = 'E'.

IF SY-SUBRC = 0.

MODIFY I_TAB1 FROM I_TAB1.

CLEAR I_TAB1.

ENDIF.

ENDLOOP.

ENDIF.

ELSE.

select A~AUFNR

A~PLNBEZ

A~GAMNG

INTO corresponding fields of TABLE I_TAB1

FROM AFKO AS A

JOIN AFPO AS B ON

AAUFNR = BAUFNR

JOIN AUFK AS C ON

AAUFNR = CAUFNR

JOIN JEST AS D ON

COBJNR = DOBJNR

WHERE A~FEVOR = V_PRDSCHED

AND A~DISPO = '103'

AND A~GLTRP between sdate and edate

AND B~DAUAT = 'ZH23'

AND B~PWERK = T001W-WERKS

AND D~STAT = 'I0002'

AND D~INACT <> 'X'.

IF SY-SUBRC = 0.

ccontrol-lines = sy-dbcnt.

LOOP AT I_TAB1.

SELECT SINGLE WGBEZ FROM T023T INTO I_TAB1-WGBEZ

WHERE MATKL = I_TAB1-PLNBEZ+0(7)

AND SPRAS = 'E'.

IF SY-SUBRC = 0.

MODIFY I_TAB1 FROM I_TAB1.

CLEAR I_TAB1.

ENDIF.

ENDLOOP.

ENDIF.

ENDIF.

endif.

sort i_tab1 by plnbez.

endform. " GETDATA

&----


*& Module F4HELPONCHARG INPUT

&----


  • text

----


module F4HELPONCHARG input.

CLEAR : V_MATNR, V_STEPL, V_STLNR, V_IDNRK.

CLEAR : C_TOPLINE.

C_TOPLINE = CCONTROL-TOP_LINE - 1.

CALL FUNCTION 'DYNP_GET_STEPL'

IMPORTING

POVSTEPL = v_stepl

EXCEPTIONS

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

v_stepl = v_stepl + C_TOPLINE.

READ TABLE I_TAB1 INDEX v_stepl.

*

IF SY-SUBRC = 0.

SELECT SINGLE STLNR FROM AFKO INTO V_STLNR

WHERE AUFNR = I_TAB1-AUFNR.

IF SY-SUBRC = 0.

V_MATNR = I_TAB1-PLNBEZ+0(7).

CONCATENATE V_MATNR '%' INTO V_MATNR.

SELECT SINGLE IDNRK FROM STPO INTO V_IDNRK

WHERE STLNR = V_STLNR

AND IDNRK LIKE V_MATNR.

IF SY-SUBRC = 0.

SELECT CHARG FROM MCHB INTO TABLE I_BATCH

WHERE MATNR LIKE V_IDNRK

AND LGORT = '1080'

AND WERKS = T001W-WERKS

AND LVORM <> 'X'.

ENDIF.

ENDIF.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

retfield = 'I_TAB-CHARG'

  • PVALKEY = ' '

DYNPPROG = SY-REPID

DYNPNR = SY-DYNNR

DYNPROFIELD = 'CHARG'

  • STEPL = 0

WINDOW_TITLE = 'BATCH'

  • VALUE = ' '

VALUE_ORG = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

tables

value_tab = I_BATCH

  • FIELD_TAB =

  • RETURN_TAB =

  • DYNPFLD_MAPPING =

  • EXCEPTIONS

  • PARAMETER_ERROR = 1

  • NO_VALUES_FOUND = 2

  • OTHERS = 3

.

IF sy-subrc <> 0.

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

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

ENDIF.

ENDIF.

endmodule. " F4HELPONCHARG INPUT

&----


*& Module F4HELPONGRUND INPUT

&----


  • text

----


module F4HELPONGRUND input.

SELECT GRUND GRDTX FROM TRUGT

INTO CORRESPONDING FIELDS OF TABLE I_TRUG

WHERE WERKS = T001W-WERKS

AND SPRAS = 'E'.

IF SY-SUBRC = 0.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

retfield = 'I_TAB-GRUND'

  • PVALKEY = ' '

DYNPPROG = SY-REPID

DYNPNR = SY-DYNNR

DYNPROFIELD = 'GRUND'

  • STEPL = 1

WINDOW_TITLE = 'Variance'

  • VALUE = ' '

VALUE_ORG = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

tables

value_tab = I_TRUG

  • FIELD_TAB =

  • RETURN_TAB =

  • DYNPFLD_MAPPING =

  • EXCEPTIONS

  • PARAMETER_ERROR = 1

  • NO_VALUES_FOUND = 2

  • OTHERS = 3

.

IF sy-subrc <> 0.

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

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

ENDIF.

ENDIF.

endmodule. " F4HELPONGRUND INPUT

&----


*& Module MOVE_DATA_TO_INTERNALTAB INPUT

&----


  • text

----


module MOVE_DATA_TO_INTERNALTAB input.

CLEAR I_TAB1.

CLEAR ZWERKS_HR.

IF T001W-WERKS = '1102'.

ZWERKS_HR = '1200'.

ENDIF.

    • if I_TAB-EMPNO <> space and I_TAB-EMPNO+0(1) <> 'P'.

    • MESSAGE I991(ZMESSAGE) with 'ENTER POTTER NUMBER'.

***BREAK-POINT.

    • FLAG = 'X'.

    • COUNT = ( CCONTROL-CURRENT_LINE - CCONTROL-Top_line ) + 1.

      • continue.

    • endif.

IF I_TAB-EMPNO IS NOT INITIAL.

  • SELECT SINGLE ENAME FROM PA0001 INTO I_TAB-ENAME

  • WHERE PERNR = I_TAB-EMPNO.

SELECT SINGLE A~ENAME

A~PERNR

  • A~WERKS

  • B~USRID

  • INTO CORRESPONDING FIELDS OF TABLE I_FINAL

INTO (I_TAB-ENAME,I_TAB-pernr)

FROM PA0001 AS A

JOIN PA0105 AS B ON APERNR = BPERNR

WHERE B~USRID <> SPACE

AND B~USRID = I_TAB-EMPNO

AND A~endda = '99991231'

AND A~WERKS = ZWERKS_HR

AND ( B~SUBTY = 'POTT' OR

B~SUBTY = 'INSP' OR

B~SUBTY = 'GLAZ' OR

B~SUBTY = 'STOP' OR

B~SUBTY = 'SORT' ).

IF SY-SUBRC <> 0.

clear : I_TAB-ENAME,I_TAB-pernr.

ENDIF.

ENDIF.

MOVE-CORRESPONDING I_TAB TO I_TAB1.

MODIFY I_TAB1 FROM I_TAB1 INDEX CCONTROL-CURRENT_LINE.

endmodule. " MOVE_DATA_TO_INTERNALTAB INPUT

&----


*& Module USER_COMMAND_9300 INPUT

&----


  • text

----


module USER_COMMAND_9300 input.

CASE OK_CODE2.

*&& GET DATA FOR INSPECTION

WHEN 'GO'.

PERFORM GETINSDATA.

CLEAR OK_CODE2.

*&& BACK

WHEN 'BACK'.

CLEAR : I_TAB, I_TAB1,AFKO-PLNBEZ,ZMATKL,T001W-WERKS,

AFKO-GSTRP,PA0105-USRID,FLAG,COUNT,COUNT1.

REFRESH : I_TAB1.

LEAVE TO SCREEN 9100.

*&& SAVE INSERT DATA TO ZPPT_CONFIRM

WHEN 'SAVE'.

LOOP AT I_TAB1.

IF I_TAB1-LMNGA IS NOT INITIAL OR

I_TAB1-XMNGA IS NOT INITIAL.

  • if I_TAB1-EMPNO <> space and I_TAB1-EMPNO+0(1) <> 'I'.

    • MESSAGE I991(ZMESSAGE) with 'ENTER INSPECTOR NUMBER at Line' sy-tabix.

  • continue.

  • endif.

*&& ACTIVITY 10

ZPPT_CONFIRM-CDATE = SY-DATUM.

ZPPT_CONFIRM-CTIME = SY-UZEIT.

ZPPT_CONFIRM-PDATE = afko-gstrp.

ZPPT_CONFIRM-WERKS = T001W-WERKS.

ZPPT_CONFIRM-DISPO = '110'. "MRP CONTROLLER

ZPPT_CONFIRM-VORNR = '0010'.

ZPPT_CONFIRM-AUFNR = I_TAB1-AUFNR. "ORDER NO

ZPPT_CONFIRM-ZSUPNO = ZPP_SUP_MRP-ZSUPNO.

ZPPT_CONFIRM-AUFART = 'ZH24'. "ORDER TYPE

ZPPT_CONFIRM-MATNR = I_TAB1-PLNBEZ. "MATERIAL

ZPPT_CONFIRM-MAKTX = I_TAB1-WGBEZ.

ZPPT_CONFIRM-GAMNG = I_TAB1-GAMNG.

ZPPT_CONFIRM-rcpts = I_TAB1-rcpts.

ZPPT_CONFIRM-LMNGA = I_TAB1-LMNGA. "MOULD FILL

ZPPT_CONFIRM-XMNGA = I_TAB1-XMNGA. "SCRAP

if I_TAB1-XMNGA is NOT INITIAL.

ZPPT_CONFIRM-GRUND = I_TAB1-GRUND. "reason for scrap

endif.

ZPPT_CONFIRM-ZSUPNAME = SNAME. "supervioser name

ZPPT_CONFIRM-ZHODNO = V_ZHODNO.

ZPPT_CONFIRM-FEVOR = V_PRDSCHED. "PRODUCT SCHEDULER

ZPPT_CONFIRM-PERNR = I_TAB1-pernr.

ZPPT_CONFIRM-ENAME = I_TAB1-ENAME.

ZPPT_CONFIRM-ZUSER = sy-uname.

INSERT ZPPT_CONFIRM.

IF SY-SUBRC = 0.

DELETE TABLE I_TAB1 FROM I_TAB1.

ENDIF.

CLEAR ZPPT_CONFIRM.

ENDIF.

ENDLOOP.

CLEAR : OK_CODE2.

ENDCASE.

endmodule. " USER_COMMAND_9300 INPUT

&----


*& Form GETINSDATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form GETINSDATA .

refresh i_tab1.

V_DATE = AFKO-GSTRP.

  • SELECT SINGLE FEVOR ZHODNO FROM ZPP_SUP_MRP INTO (V_PRDSCHED, V_ZHODNO)

  • WHERE ZSUPNO = ZPP_SUP_MRP-ZSUPNO.

*

  • if sy-subrc = 0.

CALL FUNCTION 'HR_JP_MONTH_BEGIN_END_DATE'

EXPORTING

iv_date = V_DATE

IMPORTING

EV_MONTH_BEGIN_DATE = sdate

EV_MONTH_END_DATE = edate.

  • SELECT SINGLE ENAME FROM PA0001 INTO SNAME WHERE PERNR = ZPP_SUP_MRP-ZSUPNO

  • AND ENDDA = '99991231'.

IF AFKO-PLNBEZ IS NOT INITIAL.

select A~AUFNR

A~PLNBEZ

A~GAMNG

INTO corresponding fields of TABLE I_TAB1

FROM AFKO AS A

JOIN AFPO AS B ON

AAUFNR = BAUFNR

JOIN AUFK AS C ON

AAUFNR = CAUFNR

JOIN JEST AS D ON

COBJNR = DOBJNR

WHERE

A~PLNBEZ = AFKO-PLNBEZ

AND A~DISPO = '110'

AND A~GLTRP between sdate and edate

AND B~DAUAT = 'ZH24'

AND B~PWERK = T001W-WERKS

AND D~STAT = 'I0002'

AND D~INACT <> 'X'.

IF SY-SUBRC = 0.

icontrol-lines = sy-dbcnt.

LOOP AT I_TAB1.

SELECT SINGLE WGBEZ FROM T023T INTO I_TAB1-WGBEZ

WHERE MATKL = I_TAB1-PLNBEZ+0(7)

AND SPRAS = 'E'.

IF SY-SUBRC = 0.

MODIFY I_TAB1 FROM I_TAB1.

CLEAR I_TAB1.

ENDIF.

ENDLOOP.

ENDIF.

ELSE.

select A~AUFNR

A~PLNBEZ

A~GAMNG

INTO corresponding fields of TABLE I_TAB1

FROM AFKO AS A

JOIN AFPO AS B ON

AAUFNR = BAUFNR

JOIN AUFK AS C ON

AAUFNR = CAUFNR

JOIN JEST AS D ON

COBJNR = DOBJNR

WHERE

  • A~FEVOR = V_PRDSCHED

A~DISPO = '110'

AND A~GLTRP between sdate and edate

AND B~DAUAT = 'ZH24'

AND B~PWERK = T001W-WERKS

AND D~STAT = 'I0002'

AND D~INACT <> 'X'.

IF SY-SUBRC = 0.

icontrol-lines = sy-dbcnt.

LOOP AT I_TAB1.

SELECT SINGLE WGBEZ FROM T023T INTO I_TAB1-WGBEZ

WHERE MATKL = I_TAB1-PLNBEZ+0(7)

AND SPRAS = 'E'.

IF SY-SUBRC = 0.

MODIFY I_TAB1 FROM I_TAB1.

CLEAR I_TAB1.

ENDIF.

ENDLOOP.

ENDIF.

ENDIF.

  • endif.

sort i_tab1 by plnbez.

endform. " GETINSDATA

&----


*& Module USER_COMMAND_9400 INPUT

&----


  • text

----


module USER_COMMAND_9400 input.

CASE OK_CODE3.

*&& GET DATA FOR INSPECTION

WHEN 'GO'.

PERFORM GETGLADATA.

CLEAR OK_CODE3.

*&& BACK

WHEN 'BACK'.

CLEAR : I_TAB, I_TAB1,AFKO-PLNBEZ,ZMATKL,T001W-WERKS,

AFKO-GSTRP,PA0105-USRID,flag,count.

REFRESH : I_TAB1.

LEAVE TO SCREEN 9100.

*&& SAVE INSERT DATA TO ZPPT_CONFIRM

WHEN 'SAVE'.

LOOP AT I_TAB1.

IF I_TAB1-LMNGA IS NOT INITIAL OR

I_TAB1-XMNGA IS NOT INITIAL.

  • if I_TAB1-EMPNO <> space and I_TAB1-EMPNO+0(1) <> 'G'.

    • MESSAGE I991(ZMESSAGE) with 'ENTER GLAZER NUMBER at Line' sy-tabix.

*

  • continue.

  • endif.

*&& ACTIVITY 10

ZPPT_CONFIRM-CDATE = SY-DATUM.

ZPPT_CONFIRM-CTIME = SY-UZEIT.

ZPPT_CONFIRM-PDATE = afko-gstrp.

ZPPT_CONFIRM-WERKS = T001W-WERKS.

ZPPT_CONFIRM-DISPO = '104'. "MRP CONTROLLER

ZPPT_CONFIRM-VORNR = '0010'.

ZPPT_CONFIRM-AUFNR = I_TAB1-AUFNR. "ORDER NO

ZPPT_CONFIRM-ZSUPNO = ZPP_SUP_MRP-ZSUPNO.

ZPPT_CONFIRM-AUFART = 'ZH24'. "ORDER TYPE

ZPPT_CONFIRM-MATNR = I_TAB1-PLNBEZ. "MATERIAL

ZPPT_CONFIRM-MAKTX = I_TAB1-WGBEZ.

ZPPT_CONFIRM-GAMNG = I_TAB1-GAMNG.

ZPPT_CONFIRM-LMNGA = I_TAB1-LMNGA. "MOULD FILL

ZPPT_CONFIRM-XMNGA = I_TAB1-XMNGA. "SCRAP

if I_TAB1-XMNGA is NOT INITIAL.

ZPPT_CONFIRM-GRUND = I_TAB1-GRUND. "reason for scrap

endif.

ZPPT_CONFIRM-ZSUPNAME = SNAME. "supervioser name

ZPPT_CONFIRM-ZHODNO = V_ZHODNO.

ZPPT_CONFIRM-FEVOR = V_PRDSCHED. "PRODUCT SCHEDULER

ZPPT_CONFIRM-PERNR = I_TAB1-pernr.

ZPPT_CONFIRM-ENAME = I_TAB1-ENAME.

ZPPT_CONFIRM-ZUSER = sy-uname.

INSERT ZPPT_CONFIRM.

IF SY-SUBRC = 0.

DELETE TABLE I_TAB1 FROM I_TAB1.

ENDIF.

CLEAR ZPPT_CONFIRM.

ENDIF.

ENDLOOP.

CLEAR : OK_CODE3.

ENDCASE.

endmodule. " USER_COMMAND_9400 INPUT

&----


*& Form GETGLADATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form GETGLADATA .

refresh i_tab1.

CLEAR : V_MATNR1.

CONCATENATE '%' V_COLOR '%' INTO V_MATNR1.

V_DATE = AFKO-GSTRP.

  • SELECT SINGLE FEVOR ZHODNO FROM ZPP_SUP_MRP INTO (V_PRDSCHED, V_ZHODNO)

  • WHERE ZSUPNO = ZPP_SUP_MRP-ZSUPNO.

if sy-subrc = 0.

CALL FUNCTION 'HR_JP_MONTH_BEGIN_END_DATE'

EXPORTING

iv_date = V_DATE

IMPORTING

EV_MONTH_BEGIN_DATE = sdate

EV_MONTH_END_DATE = edate.

  • SELECT SINGLE ENAME FROM PA0001 INTO SNAME WHERE PERNR = ZPP_SUP_MRP-ZSUPNO

  • AND ENDDA = '99991231'.

if ZMATKL <> SPACE and AFKO-PLNBEZ <> SPACE.

select A~AUFNR

A~PLNBEZ

A~GAMNG

INTO corresponding fields of TABLE I_TAB1

FROM AFKO AS A

JOIN AFPO AS B ON

AMANDT = BMANDT

AND AAUFNR = BAUFNR

JOIN AUFK AS C ON

AMANDT = CMANDT

AND AAUFNR = CAUFNR

JOIN JEST AS D ON

CMANDT = DMANDT

AND COBJNR = DOBJNR

JOIN MARA AS E ON

AMANDT = EMANDT

AND APLNBEZ = EMATNR

WHERE

A~PLNBEZ = AFKO-PLNBEZ

  • A~PLNBEZ LIKE V_MATNR1

AND A~DISPO = '104'

AND A~GLTRP between sdate and edate

AND B~DAUAT = 'ZH24'

AND B~PWERK = T001W-WERKS

AND D~STAT = 'I0002'

AND D~INACT <> 'X'

AND E~MATKL = ZMATKL.

elseIF ZMATKL <> SPACE and AFKO-PLNBEZ = SPACE.

select A~AUFNR

A~PLNBEZ

A~GAMNG

INTO corresponding fields of TABLE I_TAB1

FROM AFKO AS A

JOIN AFPO AS B ON

AMANDT = BMANDT

AND AAUFNR = BAUFNR

JOIN AUFK AS C ON

AMANDT = CMANDT

AND AAUFNR = CAUFNR

JOIN JEST AS D ON

CMANDT = DMANDT

AND COBJNR = DOBJNR

JOIN MARA AS E ON

AMANDT = EMANDT

AND APLNBEZ = EMATNR

WHERE

  • A~FEVOR = V_PRDSCHED

A~PLNBEZ LIKE V_MATNR1

AND A~DISPO = '104'

AND A~GLTRP between sdate and edate

AND B~DAUAT = 'ZH24'

AND B~PWERK = T001W-WERKS

AND D~STAT = 'I0002'

AND D~INACT <> 'X'

AND E~MATKL = ZMATKL.

elseIF ZMATKL = SPACE and AFKO-PLNBEZ <> SPACE.

select A~AUFNR

A~PLNBEZ

A~GAMNG

INTO corresponding fields of TABLE I_TAB1

FROM AFKO AS A

JOIN AFPO AS B ON

AMANDT = BMANDT

AND AAUFNR = BAUFNR

JOIN AUFK AS C ON

AMANDT = CMANDT

AND AAUFNR = CAUFNR

JOIN JEST AS D ON

CMANDT = DMANDT

AND COBJNR = DOBJNR

  • JOIN MARA AS E ON

  • AMANDT = EMANDT

  • AND APLNBEZ = EMATNR

WHERE

A~PLNBEZ = AFKO-PLNBEZ

  • A~PLNBEZ LIKE V_MATNR1

AND A~DISPO = '104'

AND A~GLTRP between sdate and edate

AND B~DAUAT = 'ZH24'

AND B~PWERK = T001W-WERKS

AND D~STAT = 'I0002'

AND D~INACT <> 'X'.

  • AND E~MATKL = ZMATKL.

elseIF ZMATKL = SPACE and AFKO-PLNBEZ = SPACE.

select A~AUFNR

A~PLNBEZ

A~GAMNG

INTO corresponding fields of TABLE I_TAB1

FROM AFKO AS A

JOIN AFPO AS B ON

AMANDT = BMANDT

AND AAUFNR = BAUFNR

JOIN AUFK AS C ON

AMANDT = CMANDT

AND AAUFNR = CAUFNR

JOIN JEST AS D ON

CMANDT = DMANDT

AND COBJNR = DOBJNR

  • JOIN MARA AS E ON

  • AMANDT = EMANDT

  • AND APLNBEZ = EMATNR

WHERE

  • A~PLNBEZ = AFKO-PLNBEZ

A~PLNBEZ LIKE V_MATNR1

AND A~DISPO = '104'

AND A~GLTRP between sdate and edate

AND B~DAUAT = 'ZH24'

AND B~PWERK = T001W-WERKS

AND D~STAT = 'I0002'

AND D~INACT <> 'X'.

  • AND E~MATKL = ZMATKL.

endif.

IF SY-SUBRC = 0.

gcontrol-lines = sy-dbcnt.

LOOP AT I_TAB1.

SELECT SINGLE WGBEZ FROM T023T INTO I_TAB1-WGBEZ

WHERE MATKL = I_TAB1-PLNBEZ+0(7)

AND SPRAS = 'E'.

IF SY-SUBRC = 0.

MODIFY I_TAB1 FROM I_TAB1.

CLEAR I_TAB1.

ENDIF.

ENDLOOP.

ENDIF.

endif.

sort i_tab1 by plnbez.

endform. " GETGLADATA

&----


*& Module MOVE_DATA_TO_INTERNALTAB_INS INPUT

&----


  • text

----


module MOVE_DATA_TO_INTERNALTAB_INS input.

CLEAR I_TAB1.

CLEAR ZWERKS_HR.

IF T001W-WERKS = '1102'.

ZWERKS_HR = '1200'.

ENDIF.

if I_TAB-EMPNO <> space and I_TAB-EMPNO+0(1) <> 'I'.

MESSAGE I991(ZMESSAGE) with 'ENTER INSPECTOR NUMBER'.

*BREAK-POINT.

FLAG = 'X'.

COUNT = ICONTROL-CURRENT_LINE.

  • continue.

endif.

IF I_TAB-EMPNO IS NOT INITIAL.

  • SELECT SINGLE ENAME FROM PA0001 INTO I_TAB-ENAME

  • WHERE PERNR = I_TAB-EMPNO.

SELECT SINGLE A~ENAME

A~PERNR

  • A~WERKS

  • B~USRID

  • INTO CORRESPONDING FIELDS OF TABLE I_FINAL

INTO (I_TAB-ENAME,I_TAB-pernr)

FROM PA0001 AS A

JOIN PA0105 AS B ON APERNR = BPERNR

WHERE B~USRID <> SPACE

AND B~USRID = I_TAB-EMPNO

AND A~endda = '99991231'

AND A~WERKS = ZWERKS_HR

AND ( B~SUBTY = 'POTT' OR

B~SUBTY = 'INSP' OR

B~SUBTY = 'GLAZ' OR

B~SUBTY = 'STOP' OR

B~SUBTY = 'SORT' ).

IF SY-SUBRC <> 0.

clear : I_TAB-ENAME,I_TAB-pernr.

ENDIF.

ENDIF.

MOVE-CORRESPONDING I_TAB TO I_TAB1.

MODIFY I_TAB1 FROM I_TAB1 INDEX ICONTROL-CURRENT_LINE.

endmodule. " MOVE_DATA_TO_INTERNALTAB_INS INPUT

&----


*& Module MOVE_DATA_TO_INTERNALTAB_GLA INPUT

&----


  • text

----


module MOVE_DATA_TO_INTERNALTAB_GLA input.

CLEAR I_TAB1.

CLEAR ZWERKS_HR.

IF T001W-WERKS = '1102'.

ZWERKS_HR = '1200'.

ENDIF.

if I_TAB-EMPNO <> space and I_TAB-EMPNO+0(1) <> 'G'.

MESSAGE I991(ZMESSAGE) with 'ENTER GLAZER NUMBER'.

*BREAK-POINT.

FLAG = 'X'.

COUNT = GCONTROL-CURRENT_LINE.

  • continue.

endif.

IF I_TAB-EMPNO IS NOT INITIAL.

  • SELECT SINGLE ENAME FROM PA0001 INTO I_TAB-ENAME

  • WHERE PERNR = I_TAB-EMPNO.

SELECT SINGLE A~ENAME

A~PERNR

  • A~WERKS

  • B~USRID

  • INTO CORRESPONDING FIELDS OF TABLE I_FINAL

INTO (I_TAB-ENAME,I_TAB-pernr)

FROM PA0001 AS A

JOIN PA0105 AS B ON APERNR = BPERNR

WHERE B~USRID <> SPACE

AND B~USRID = I_TAB-EMPNO

AND A~endda = '99991231'

AND A~WERKS = ZWERKS_HR

AND ( B~SUBTY = 'POTT' OR

B~SUBTY = 'INSP' OR

B~SUBTY = 'GLAZ' OR

B~SUBTY = 'STOP' OR

B~SUBTY = 'SORT' ).

IF SY-SUBRC <> 0.

clear : I_TAB-ENAME,I_TAB-pernr.

ENDIF.

ENDIF.

MOVE-CORRESPONDING I_TAB TO I_TAB1.

MODIFY I_TAB1 FROM I_TAB1 INDEX GCONTROL-CURRENT_LINE.

endmodule. " MOVE_DATA_TO_INTERNALTAB_GLA INPUT

&----


*& Module USER_COMMAND_9500 INPUT

&----


  • text

----


module USER_COMMAND_9500 input.

CASE OK_CODE4.

*&& GET DATA FOR INSPECTION

WHEN 'GO'.

PERFORM GETMLDDATA.

CLEAR OK_CODE4.

*&& BACK

WHEN 'BACK'.

CLEAR : I_TAB, I_TAB1,T001W-WERKS,AFKO-GSTRP.

REFRESH : I_TAB1.

LEAVE TO SCREEN 9100.

*&& SAVE INSERT DATA TO ZPPT_CONFIRM

WHEN 'SAVE'.

LOOP AT I_TAB1.

clear : v_charg.

SELECT single CHARG FROM MCHB into v_charg

WHERE LGORT = '1130'

AND LVORM <> 'X'

AND CHARG = I_TAB1-CHARG.

if sy-subrc <> 0.

Message 'Enter correct batch' type 'W'.

continue.

endif.

IF ( I_TAB1-LMNGA IS NOT INITIAL OR

I_TAB1-XMNGA IS NOT INITIAL ) and

I_TAB1-CHARG IS NOT INITIAL.

*&& ACTIVITY 10

ZPPT_CONFIRM-CDATE = SY-DATUM.

ZPPT_CONFIRM-CTIME = SY-UZEIT.

ZPPT_CONFIRM-PDATE = afko-gstrp.

ZPPT_CONFIRM-WERKS = T001W-WERKS.

ZPPT_CONFIRM-DISPO = '106'. "MRP CONTROLLER

ZPPT_CONFIRM-VORNR = '0010'.

ZPPT_CONFIRM-AUFNR = I_TAB1-AUFNR. "ORDER NO

ZPPT_CONFIRM-ZSUPNO = ZPP_SUP_MRP-ZSUPNO.

ZPPT_CONFIRM-AUFART = 'ZH26'. "ORDER TYPE

ZPPT_CONFIRM-MATNR = I_TAB1-PLNBEZ. "MATERIAL

ZPPT_CONFIRM-MAKTX = I_TAB1-WGBEZ.

ZPPT_CONFIRM-GAMNG = I_TAB1-GAMNG.

ZPPT_CONFIRM-LMNGA = I_TAB1-LMNGA. "MOULD FILL

ZPPT_CONFIRM-XMNGA = I_TAB1-XMNGA. "SCRAP

if I_TAB1-XMNGA is NOT INITIAL.

ZPPT_CONFIRM-GRUND = I_TAB1-GRUND. "reason for scrap

endif.

ZPPT_CONFIRM-ZSUPNAME = SNAME. "supervioser name

ZPPT_CONFIRM-CHARG = I_TAB1-CHARG. "batch

ZPPT_CONFIRM-ZHODNO = V_ZHODNO.

ZPPT_CONFIRM-FEVOR = V_PRDSCHED. "PRODUCT SCHEDULER

ZPPT_CONFIRM-PERNR = I_TAB1-pernr.

ZPPT_CONFIRM-ENAME = I_TAB1-ENAME.

ZPPT_CONFIRM-ZUSER = sy-uname.

INSERT ZPPT_CONFIRM.

IF SY-SUBRC = 0.

DELETE TABLE I_TAB1 FROM I_TAB1.

ENDIF.

CLEAR ZPPT_CONFIRM.

ENDIF.

ENDLOOP.

CLEAR : OK_CODE4.

ENDCASE.

endmodule. " USER_COMMAND_9500 INPUT

&----


*& Form GETMLDDATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form GETMLDDATA .

refresh i_tab1.

V_DATE = AFKO-GSTRP.

  • SELECT SINGLE FEVOR ZHODNO FROM ZPP_SUP_MRP INTO (V_PRDSCHED, V_ZHODNO)

  • WHERE ZSUPNO = ZPP_SUP_MRP-ZSUPNO.

if sy-subrc = 0.

CALL FUNCTION 'HR_JP_MONTH_BEGIN_END_DATE'

EXPORTING

iv_date = V_DATE

IMPORTING

EV_MONTH_BEGIN_DATE = sdate

EV_MONTH_END_DATE = edate.

SELECT SINGLE ENAME FROM PA0001 INTO SNAME WHERE PERNR = ZPP_SUP_MRP-ZSUPNO

AND ENDDA = '99991231'.

select A~AUFNR

A~PLNBEZ

A~GAMNG

INTO corresponding fields of TABLE I_TAB1

FROM AFKO AS A

JOIN AFPO AS B ON

AAUFNR = BAUFNR

JOIN AUFK AS C ON

AAUFNR = CAUFNR

JOIN JEST AS D ON

COBJNR = DOBJNR

WHERE

  • A~FEVOR = V_PRDSCHED

A~DISPO = '106'

AND A~GLTRP between sdate and edate

AND B~DAUAT = 'ZH26'

AND B~PWERK = T001W-WERKS

AND D~STAT = 'I0002'

AND D~INACT <> 'X'.

IF SY-SUBRC = 0.

mcontrol-lines = sy-dbcnt.

LOOP AT I_TAB1.

SELECT SINGLE WGBEZ FROM T023T INTO I_TAB1-WGBEZ

WHERE MATKL = I_TAB1-PLNBEZ+0(7)

AND SPRAS = 'E'.

IF SY-SUBRC = 0.

MODIFY I_TAB1 FROM I_TAB1.

CLEAR I_TAB1.

ENDIF.

ENDLOOP.

ENDIF.

endif.

sort i_tab1 by plnbez.

endform. " GETMLDDATA

&----


*& Module MOVE_DATA_TO_INTERNALTAB_MLD INPUT

&----


  • text

----


module MOVE_DATA_TO_INTERNALTAB_MLD input.

CLEAR I_TAB1.

IF I_TAB-PERNR IS NOT INITIAL.

SELECT SINGLE ENAME FROM PA0001 INTO I_TAB-ENAME

WHERE PERNR = I_TAB-PERNR.

  • SELECT SINGLE A~ENAME

  • A~PERNR

  • A~WERKS

  • B~USRID

  • INTO CORRESPONDING FIELDS OF TABLE I_FINAL

  • INTO (I_TAB-ENAME,I_TAB-pernr)

  • FROM PA0001 AS A

  • JOIN PA0105 AS B ON APERNR = BPERNR

  • WHERE B~USRID <> SPACE

  • AND B~USRID = I_TAB-EMPNO

  • AND A~endda = '99991231'

  • AND ( B~SUBTY = 'POTT' OR

  • B~SUBTY = 'INSP' OR

  • B~SUBTY = 'GLAZ' OR

  • B~SUBTY = 'STOP' OR

  • B~SUBTY = 'SORT' ).

IF SY-SUBRC <> 0.

clear : I_TAB-ENAME.

ENDIF.

ENDIF.

MOVE-CORRESPONDING I_TAB TO I_TAB1.

MODIFY I_TAB1 FROM I_TAB1 INDEX MCONTROL-CURRENT_LINE.

endmodule. " MOVE_DATA_TO_INTERNALTAB_MLD INPUT

&----


*& Module F4HELPONMATKL INPUT

&----


  • text

----


module F4HELPONMATKL input.

SELECT DISTINCT A~MATKL

A~WGBEZ

INTO CORRESPONDING FIELDS OF TABLE I_MATKL

FROM T023T AS A

JOIN MARA AS B

ON AMATKL = BMATKL

JOIN MARC AS C

ON BMATNR = CMATNR

WHERE C~DISPO = '104'

AND A~SPRAS = 'E'.

IF SY-SUBRC = 0.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

retfield = 'MATKL'

  • PVALKEY = ' '

DYNPPROG = SY-REPID

DYNPNR = SY-DYNNR

DYNPROFIELD = 'ZMATKL'

  • STEPL = 0

WINDOW_TITLE = 'MATERIAL GROUP'

  • VALUE = ' '

VALUE_ORG = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

tables

value_tab = I_MATKL

  • FIELD_TAB =

  • RETURN_TAB =

  • DYNPFLD_MAPPING =

  • EXCEPTIONS

  • PARAMETER_ERROR = 1

  • NO_VALUES_FOUND = 2

  • OTHERS = 3

.

IF sy-subrc <> 0.

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

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

ENDIF.

ENDIF.

endmodule. " F4HELPONMATKL INPUT

&----


*& Module F4HELPONCHARG_MLD INPUT

&----


  • text

----


module F4HELPONCHARG_MLD input.

CLEAR : V_MATNR, V_STEPL, V_STLNR, V_IDNRK.

CLEAR : C_TOPLINE.

C_TOPLINE = MCONTROL-TOP_LINE - 1.

CALL FUNCTION 'DYNP_GET_STEPL'

IMPORTING

POVSTEPL = v_stepl

EXCEPTIONS

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

v_stepl = v_stepl + C_TOPLINE.

READ TABLE I_TAB1 INDEX v_stepl.

*

IF SY-SUBRC = 0.

SELECT SINGLE STLNR FROM AFKO INTO V_STLNR

WHERE AUFNR = I_TAB1-AUFNR.

IF SY-SUBRC = 0.

V_MATNR = I_TAB1-PLNBEZ+0(7).

CONCATENATE V_MATNR '%' INTO V_MATNR.

SELECT SINGLE IDNRK FROM STPO INTO V_IDNRK

WHERE STLNR = V_STLNR

AND IDNRK LIKE V_MATNR.

IF SY-SUBRC = 0.

SELECT CHARG FROM MCHB INTO TABLE I_BATCH

WHERE MATNR LIKE V_IDNRK

AND LGORT = '1130'

AND WERKS = T001W-WERKS

AND LVORM <> 'X'.

ENDIF.

ENDIF.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

retfield = 'I_TAB-CHARG'

  • PVALKEY = ' '

DYNPPROG = SY-REPID

DYNPNR = SY-DYNNR

DYNPROFIELD = 'CHARG'

  • STEPL = 0

WINDOW_TITLE = 'BATCH'

  • VALUE = ' '

VALUE_ORG = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

tables

value_tab = I_BATCH

  • FIELD_TAB =

  • RETURN_TAB =

  • DYNPFLD_MAPPING =

  • EXCEPTIONS

  • PARAMETER_ERROR = 1

  • NO_VALUES_FOUND = 2

  • OTHERS = 3

.

IF sy-subrc <> 0.

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

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

ENDIF.

ENDIF.

endmodule. " F4HELPONCHARG_MLD INPUT

&----


*& Module F4HELPONCOLOR INPUT

&----


  • text

----


module F4HELPONCOLOR input.

clear V_ATINN.

SELECT SINGLE ATINN FROM CABN INTO V_ATINN WHERE ATNAM = 'COLOUR'.

IF SY-SUBRC = 0.

SELECT DISTINCT ATWRT FROM AUSP INTO TABLE I_COLOR WHERE ATINN = V_ATINN.

loop at i_color.

condense i_color-atwrt.

endloop.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

retfield = 'V_COLOR'

  • PVALKEY = ' '

DYNPPROG = SY-REPID

DYNPNR = SY-DYNNR

DYNPROFIELD = 'ATWRT'

  • STEPL = 0

WINDOW_TITLE = 'COLOR'

  • VALUE = ' '

VALUE_ORG = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

tables

value_tab = I_COLOR

  • FIELD_TAB =

  • RETURN_TAB =

  • DYNPFLD_MAPPING =

  • EXCEPTIONS

  • PARAMETER_ERROR = 1

  • NO_VALUES_FOUND = 2

  • OTHERS = 3

.

IF sy-subrc <> 0.

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

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

ENDIF.

ENDIF.

endmodule. " F4HELPONCOLOR INPU

&----


*& Module CANCEL INPUT

&----


  • text

----


module CANCEL input.

CLEAR : I_TAB, I_TAB1,AFKO-PLNBEZ,ZMATKL,T001W-WERKS,AFKO-GSTRP,flag,count,qtyflag.

REFRESH : I_TAB1.

leave to screen 9100.

endmodule. " CANCEL INPUT

&----


*& Module CVALIDATION INPUT

&----


  • text

----


module CVALIDATION input.

if I_TAB-EMPNO <> space and I_TAB-EMPNO+0(1) <> 'P'.

MESSAGE E991(ZMESSAGE) with 'ENTER POTTER NUMBER'.

*BREAK-POINT.

    • FLAG = 'X'.

    • COUNT = ( CCONTROL-CURRENT_LINE - CCONTROL-Top_line ) + 1.

  • continue.

endif.

endmodule. " CVALIDATION INPUT

&----


*& Module CVALIDATION1 INPUT

&----


  • text

----


module CVALIDATION1 input.

IF I_TAB-LMNGA > 0 AND I_TAB-LMNGA1 > I_TAB-LMNGA.

MESSAGE E990(ZMESSAGE) with 'Carryout GreaterThan MF at line'.

    • qtyflag = 'X'.

    • count1 = ( sy-tabix - CControl-Top_line ) + 1.

endif.

endmodule. " CVALIDATION1 INPUT

&----


*& Module IVALIDATION INPUT

&----


  • text

----


module IVALIDATION input.

if I_TAB-EMPNO <> space and I_TAB-EMPNO+0(1) <> 'I'.

MESSAGE E991(ZMESSAGE) with 'ENTER POTTER NUMBER'.

*BREAK-POINT.

    • FLAG = 'X'.

    • COUNT = ( CCONTROL-CURRENT_LINE - CCONTROL-Top_line ) + 1.

  • continue.

endif.

endmodule. " IVALIDATION INPUT

&----


*& Module GVALIDATION INPUT

&----


  • text

----


module GVALIDATION input.

if I_TAB-EMPNO <> space and I_TAB-EMPNO+0(1) <> 'G'.

MESSAGE E991(ZMESSAGE) with 'ENTER POTTER NUMBER'.

*BREAK-POINT.

    • FLAG = 'X'.

    • COUNT = ( CCONTROL-CURRENT_LINE - CCONTROL-Top_line ) + 1.

  • continue.

endif.

endmodule. " GVALIDATION INPUT

&----


*& Module CVALIDATION2 INPUT

&----


  • text

----


module CVALIDATION2 input.

FLAG = 'X'.

COUNT = ( CCONTROL-CURRENT_LINE - CCONTROL-Top_line ) + 1.

endmodule. " CVALIDATION2 INPUT

&----


*& Module IVALIDATION2 INPUT

&----


  • text

----


module IVALIDATION2 input.

FLAG = 'X'.

COUNT = ( ICONTROL-CURRENT_LINE - ICONTROL-Top_line ) + 1.

endmodule. " IVALIDATION2 INPUT

&----


*& Module GVALIDATION2 INPUT

&----


  • text

----


module GVALIDATION2 input.

FLAG = 'X'.

COUNT = ( GCONTROL-CURRENT_LINE - GCONTROL-Top_line ) + 1.

endmodule. " GVALIDATION2 INPUT

&----


*& Module MVALIDATION2 INPUT

&----


  • text

----


module MVALIDATION2 input.

FLAG = 'X'.

COUNT = ( MCONTROL-CURRENT_LINE - MCONTROL-Top_line ) + 1.

endmodule. " MVALIDATION2 INPUT

&----


*& Module GETSUPNAME INPUT

&----


  • text

----


module GETSUPNAME input.

CLEAR ZWERKS_HR.

IF T001W-WERKS = '1102'.

ZWERKS_HR = '1200'.

ENDIF.

SELECT SINGLE ENAME

INTO SUPNAME

FROM PA0001

WHERE PERNR = ZPP_SUP_MRP-ZSUPNO

AND endda = '99991231'

AND WERKS = ZWERKS_HR.

endmodule. " GETSUPNAME INPUT

&----


*& Module F4HELPONMATNR INPUT

&----


  • text

----


module F4HELPONMATNR input.

SELECT Amatnr Bmaktx

INTO TABLE I_MATNR

FROM marc as a

join makt as b

on amatnr = bmatnr

WHERE a~WERKS = T001W-WERKS

and a~DISPO = '104'.

IF SY-SUBRC = 0.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

retfield = 'MATNR'

  • PVALKEY = ' '

DYNPPROG = SY-REPID

DYNPNR = SY-DYNNR

DYNPROFIELD = 'AFKO-PLNBEZ'

  • STEPL = 1

WINDOW_TITLE = 'Material'

  • VALUE = ' '

VALUE_ORG = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

tables

value_tab = I_MATNR

  • FIELD_TAB =

  • RETURN_TAB =

  • DYNPFLD_MAPPING =

  • EXCEPTIONS

  • PARAMETER_ERROR = 1

  • NO_VALUES_FOUND = 2

  • OTHERS = 3

.

IF sy-subrc <> 0.

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

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

ENDIF.

endif.

endmodule. " F4HELPONMATNR INPUT

&----


*& Module ONEXIT INPUT

&----


  • text

----


module ONEXIT input.

CLEAR : I_TAB, I_TAB1,AFKO-PLNBEZ,ZMATKL,T001W-WERKS,

AFKO-GSTRP,PA0105-USRID,flag,count.

REFRESH : I_TAB1.

LEAVE TO SCREEN 9100.

endmodule. " ONEXIT INPUT

Read only

Former Member
0 Likes
458

Hi,

Check the code below for flow logic to perform the activities you have specified.

Screen 9010: ( Sub screen for display )

process before output.

module status_9010.

loop with control tcontrol1.

module display_data.

endloop.

*

process after input.

module user_command_9010.

loop with control tcontrol1.

endloop.

Screen 9020: ( Sub screen for create )

process before output.

module status_9020.

loop with control tcontrol2.

module display_data_tcontrol2.

endloop.

*

process after input.

  • MODULE USER_COMMAND_9020.

loop with control tcontrol2.

module get_data_from_tcontrol2.

endloop.

Screen 9030: ( Sub screen for edit )

process before output.

module status_9030.

loop with control tcontrol3.

module move_data_to_tcontrol3.

endloop.

process after input.

module user_command_9030.

loop with control tcontrol3.

module get_data_from_tcontrol3.

endloop.

Hope this will help you,

With best wishes,

Ram.