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

Regarding module pool

Former Member
0 Likes
376

Hi guriji,

I want to insert three new date in place of previous date. these date are BLDAT BUDAT CPUDT when we trigred ' UPD' button.

In our program, i write this condition for this plz tell me whether this write or wrong.

REPORT Z_MKPF_MODIFIED.

DATA: OKCODE LIKE SY-UCOMM.

TABLES : MKPF, BKPF.

TYPES : BEGIN OF T_ITAB,

BLDAT TYPE BLDAT,

BUDAT TYPE BUDAT,

CPUDT TYPE CPUDT,

END OF T_ITAB.

TYPES : BEGIN OF T_KTAB,

BLDAT TYPE BLDAT,

BUDAT TYPE BUDAT,

MONAT TYPE MONAT,

CPUDT TYPE CPUDT,

END OF T_KTAB.

DATA : ITAB TYPE STANDARD TABLE OF T_ITAB WITH HEADER LINE,

KTAB TYPE STANDARD TABLE OF T_KTAB WITH HEADER LINE..

MODULE USER_COMMAND_0101 INPUT.

OKCODE = SY-UCOMM.

CLEAR SY-UCOMM.

CASE OKCODE.

WHEN 'DISP'.

DATA : TEST LIKE MKPF-MBLNR.

TEST = MKPF-MBLNR.

SELECT SINGLE BLDAT BUDAT CPUDT FROM MKPF INTO ITAB WHERE MBLNR = MKPF-MBLNR.

WHEN 'UPD'.

IF TEST = MKPF-MBLNR AND MKPF-BLDAT = '20090325'.

IF SY-SUBRC = 0.

UPDATE MKPF .

ENDIF.ENDIF.

WHEN 'BACK'.

CALL SCREEN 100.

ENDCASE.

ENDMODULE.

----


MODULE USER_COMMAND_0102 INPUT.

OKCODE = SY-UCOMM.

CLEAR SY-UCOMM.

CASE OKCODE.

WHEN 'DISP'.

SELECT SINGLE BLDAT BUDAT MONAT CPUDT FROM BKPF INTO KTAB WHERE BELNR = BKPF-BELNR AND BLDAT = BKPF-BLDAT.

WHEN 'BACK'.

CALL SCREEN 100.

ENDCASE.

ENDMODULE.

thanks.

1 ACCEPTED SOLUTION
Read only

MarcinPciak
Active Contributor
0 Likes
339

Try


WHEN 'UPD'.
...
UPDATE MKPF SET BLDAT = ITAB-BLDAT
                                     BUDAT = ITAB-BUDAT
                                     CPUNDT = ITAB-CPUDT
                     WHERE MBLNR = MPKPF-MBLNR
                          AND   MJAHR = MPKPF-MJARH.

I assumed that MPKPF-MBLNR and MPKPF-MJARH these are fields on screen which you fill in. Then based on them you can update your dates so entry specified in DB.

Regards

Marcin

1 REPLY 1
Read only

MarcinPciak
Active Contributor
0 Likes
340

Try


WHEN 'UPD'.
...
UPDATE MKPF SET BLDAT = ITAB-BLDAT
                                     BUDAT = ITAB-BUDAT
                                     CPUNDT = ITAB-CPUDT
                     WHERE MBLNR = MPKPF-MBLNR
                          AND   MJAHR = MPKPF-MJARH.

I assumed that MPKPF-MBLNR and MPKPF-MJARH these are fields on screen which you fill in. Then based on them you can update your dates so entry specified in DB.

Regards

Marcin