Skip to Content
0
Former Member
Jul 14, 2008 at 10:49 AM

Updationg of ztables in module pool programming

27 Views

I have to update ztables.... When I tried doing only last records is getting updated and not the entire ones...

please help me

PROCESS BEFORE OUTPUT.

MODULE STATUS_0100.

  • LOOP AT zasset. " into wa_zasset.

module put_data.

  • endloop.

PROCESS AFTER INPUT.

MODULE USER_COMMAND_0100.

  • LOOP AT it_zasset . "into wa_zasset.

MODULE GET_DATA.

  • ENDLOOP.

MODULE EXIT AT EXIT-COMMAND.

PROGRAM ZASSET .

tables: anla,zasset.

data: begin of it_zasset occurs 0 , " with header line ,

  • bukrs like anla-bukrs,

anln1 like anla-anln1,

anln2 like anla-anln2,

end of IT_zasset.

data: v_lines type i.

*data: it_zasset type standard table of ty_zasset with header line.

*data: wa_zasset type ty_zasset .

*

&----


*& Module put_data OUTPUT

&----


  • text

----


MODULE put_data OUTPUT.

move it_zasset-anln1 to zasset-anln1.

move it_zasset-anln2 to zasset-anln2.

*DESCRIBE TABLE IT_ZASSET LINES v_lines.

*modify zasset . "from it_zasset.

*update zasset.

*clear it_zasset.

  • DESCRIBE TABLE it_zasset . "LINES TC_CONTROL-LINES.

ENDMODULE. " put_data OUTPUT

&----


*& Module GET_DATA INPUT

&----


  • text

----


MODULE GET_DATA INPUT.

*move zasset-anln1 to wa_zasset-anln1.

*move zasset-anln2 to wa_zasset-anln2.

move zasset-anln1 to it_Zasset-anln1.

modify it_zasset index sy-tabix.

  • MODIFY it_zasset from wa_zasset INDEX SY-TABIX. " INDEX

*update zasset . "t_zasset from wa_zasset.

ENDMODULE. " GET_DATA INPUT

&----


*& Module EXIT INPUT

&----


  • text

----


MODULE EXIT INPUT.

case sy-ucomm.

when 'EXIT'.

LEAVE PROGRAM.

ENDCASE.

ENDMODULE. " EXIT INPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE USER_COMMAND_0100 INPUT.

*clear: it_zasset.

*refresh: it_zasset.

CASE SY-UCOMM.

  • WHEN 'INSERT'.

  • LOOP AT it_zasset into wa_zasset .

  • modify it_zasset from wa_zasset..

  • INSERT INITIAL LINE INTO it_zasset INDEX SY-TABIX.

  • TC_CONTROL-LINES = TC_CONTROL-LINES + 1.

  • ENDLOOP.

  • *when 'APPEND'.

    • APPEND INITIAL LINE TO TSPFLI.

    • CLEAR SY-UCOMM.

    WHEN 'SAVE'.

    if it_zasset = ''.

    insert from it_zasset into Zasset values.

    else.

    modify zasset.

    endif.

    • refresh it_zasset.

    • clear it_zasset.

    • clear wa_zasset.

    • LOOP AT it_zasset .

    • move it_zasset-anln1 to zasset-anln1.

    move it_zasset-anln1 to zasset-anln1.

    modify zasset . "index sy-tabix..

    *endloop.

    *MOVE ZASSET-ANLN2 TO WA_ZASSET-ANLN2.

    *it_zasset-anln1 = wa_zasset-anln1.

    *IT_zASSET-ANLN2 = WA_ZASSET-ANLN2.

    *append wa_zasset to it_zasset.

    *modify it_zasset from wa_zasset index sy-tabix..

    *commit work.

    *endloop.

    ENDCASE.

    ENDMODULE. " USER_COMMAND_0100 INPUT

    &----


    • & Module STATUS_0100 OUTPUT

    &----


    • text

    ----


    MODULE STATUS_0100 OUTPUT.

    *data: v_lines type i.

    SET PF-STATUS 'ASSET'.

    SET TITLEBAR 'UPDATING ZASSET TABLE'.

    *IF SY-TFILL IS INITIAL.

    • SELECT

    • bukrs

  • anln1

  • anln2

  • FROM anla

  • INTO TABLE it_zasset.

  • describe table it_zasset lines v_lines.

    *ENDIF.

    ENDMODULE. " STATUS_0100 OUTPUT