Application Development 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: 

BETRIEB_WRITE_DOCUMENT

Former Member
0 Kudos

Hi.

I have appended my own custom structure (fields) to the WRF1 table. As part of a custom program I am developing I need to update the change pointer table whenever the user make a change to one of the custom fields. I have been asked to look into the BETRIEB_WRITE_DOCUMENT function module, but cannot find any documentation how to use this function module. Does anyone have any information? Or has anyone used this function module. The code below to call the fm is below. I suspect that the n_wrf1 & o_wrf1 exporting parameters are for the structure to contain the old & new data of the table wrf1.

call function 'BETRIEB_WRITE_DOCUMENT' 

exporting   

     objectid                = lv_objectid   

     tcode                   = sy-tcode   

     utime                   = sy-uzeit   

     udate                   = sy-datum   

     username                = sy-uname   

     object_change_indicator = 'U'   

     planned_or_real_changes = 'R'   

     n_t001k                 = n_t001k   

     o_yt001k                = o_yt001k   

     n_t001w                 = n_t001w   

     o_yt001w                = o_yt001w   

     n_wrf1                  = n_wrf1   

     o_ywrf1                 = o_wrf1   

     upd_wrf1                = 'U' 

tables   

     xt023w                  = xt023w   

     yt023w                  = yt023w   

     xt023x                  = xt023x   

     yt023x                  = yt023x   

     xwrf12                  = xwrf12   

     ywrf12                  = ywrf12   

     xwrf3                   = xwrf3   

     ywrf3                   = ywrf3   

     xwrf4                   = xwrf4   

     ywrf4                   = ywrf4   

     xwrf5                   = xwrf5   

     ywrf5                   = ywrf5   

     xwrf6                   = xwrf6   

     ywrf6                   = ywrf6.


Cheers.

3 REPLIES 3

Former Member
0 Kudos

Hi Tim,

Do a where-used search for the functional module. It might help to see how it is being called from other programs.

Thanks and Regards,

Kavya

0 Kudos

Hi Kavya.

Thanks for replying. I tried that earlier & it's not being called by any other program.

Regards.

0 Kudos

Hi Tim,

In my system(SAP ECC 6.0), it is being used in 4 FMs. Maybe those are not there in your system.

I've pasted the code for WEWU_CURRENCY_CONVERT_0303 FM below:

FUNCTION WEWU_CURRENCY_CONVERT_0303.

*"----------------------------------------------------------------------

*"*"Lokale Schnittstelle:

*"       IMPORTING

*"             VALUE(PI_BATCH) LIKE  SY-MARKY DEFAULT ' '

*"       EXPORTING

*"             VALUE(PE_COMWO) LIKE  SY-MARKY

*"       TABLES

*"              PX_T_WEWU00 STRUCTURE  WEWU00

*"              PE_T_EWUERR STRUCTURE  EWUERR OPTIONAL

*"----------------------------------------------------------------------

   DATA: OBJECTID              LIKE CDHDR-OBJECTID.

*       TCODE                 LIKE CDHDR-TCODE,

*       PLANNED_CHANGE_NUMBER LIKE CDHDR-PLANCHNGNR,

*       UTIME                 LIKE CDHDR-UTIME,

*       UDATE                 LIKE CDHDR-UDATE,

*       USERNAME              LIKE CDHDR-USERNAME,

*       CDOC_PLANNED_OR_REAL  LIKE CDHDR-CHANGE_IND,

*       CDOC_UPD_OBJECT       LIKE CDHDR-CHANGE_IND VALUE 'U',

*       CDOC_NO_CHANGE_POINTERS LIKE CDHDR-CHANGE_IND.

   DATA: SUBRC LIKE SY-SUBRC.

   DATA: I_T001W_DUMMY LIKE T001W,

         I_T001K_DUMMY LIKE T001K,

         I_XWRF1 LIKE WRF1.

   DATA: T_T023W_DUMMY LIKE FT023W OCCURS 1,

         T_T023X_DUMMY LIKE FT023X OCCURS 1,

         T_WRF12_DUMMY LIKE FWRF12 OCCURS 1,

         T_WRF3_DUMMY LIKE FWRF3 OCCURS 1,

         T_WRF4_DUMMY LIKE FWRF4 OCCURS 1,

         T_WRF5_DUMMY LIKE FWRF5 OCCURS 1,

         T_WRF6_DUMMY LIKE FWRF6 OCCURS 1.

* Tabelle PX_T_WEWU00 abarbeiten --------------------------------------*

   LOOP AT PX_T_WEWU00.

*-- Tabelle WRF1 lesen --> *WRF1 --------------------------------------*

     PERFORM WRF1_FUELLEN USING PX_T_WEWU00-WERKS SUBRC.

     CHECK SUBRC EQ 0.

     CHECK *WRF1-POSWS EQ PX_T_WEWU00-WRSVO.

*-- Update-Eintrag fuellen --> I_XWRF1 --------------------------------*

     MOVE-CORRESPONDING *WRF1 TO I_XWRF1.

     I_XWRF1-POSWS = PX_T_WEWU00-WRSNA.

*-- Aenderungsbelege fortschreiben ------------------------------------*

     OBJECTID = PX_T_WEWU00-WERKS.

     CALL FUNCTION 'BETRIEB_WRITE_DOCUMENT' IN UPDATE TASK

          EXPORTING OBJECTID                = OBJECTID

                    TCODE                   = SY-TCODE

                    UTIME                   = SY-UZEIT

                    UDATE                   = SY-DATUM

                    USERNAME                = SY-UNAME

*                  PLANNED_CHANGE_NUMBER   = PLANNED_CHANGE_NUMBER

*                  OBJECT_CHANGE_INDICATOR = CDOC_UPD_OBJECT

*                  PLANNED_OR_REAL_CHANGES = CDOC_PLANNED_OR_REAL

*                  NO_CHANGE_POINTERS      = CDOC_NO_CHANGE_POINTERS

                    O_YT001K                = I_T001K_DUMMY

                    N_T001K                 = I_T001K_DUMMY

*                  UPD_T001K               = UPD_T001K

                    O_YT001W                = I_T001W_DUMMY

                    N_T001W                 = I_T001W_DUMMY

*                  UPD_T001W               = UPD_T001W

*                  UPD_T023W               = UPD_T023W

*                  UPD_T023X               = UPD_T023X

                    O_YWRF1                 = *WRF1

                    N_WRF1                  = I_XWRF1

                    UPD_WRF1                = UPDKZ_U

*                  UPD_WRF12               = UPD_WRF12

*                  UPD_WRF3                = UPD_WRF3

*                  UPD_WRF4                = UPD_WRF4

*                  UPD_WRF5                = UPD_WRF5

*                  UPD_WRF6                = UPD_WRF6

            TABLES  XT023W                  = T_T023W_DUMMY

                    YT023W                  = T_T023W_DUMMY

                    XT023X                  = T_T023X_DUMMY

                    YT023X                  = T_T023X_DUMMY

                    XWRF12                  = T_WRF12_DUMMY

                    YWRF12                  = T_WRF12_DUMMY

                    XWRF3                   = T_WRF3_DUMMY

                    YWRF3                   = T_WRF3_DUMMY

                    XWRF4                   = T_WRF4_DUMMY

                    YWRF4                   = T_WRF4_DUMMY

                    XWRF5                   = T_WRF5_DUMMY

                    YWRF5                   = T_WRF5_DUMMY

                    XWRF6                   = T_WRF6_DUMMY

                    YWRF6                   = T_WRF6_DUMMY.

*-- Update in WRF1 vornehmen ------------------------------------------*

*   CALL FUNCTION 'LOCATION_UPDATE'

     CALL FUNCTION 'LOCATION_UPDATE' IN UPDATE TASK

          EXPORTING

               I_WRF1  = I_XWRF1

               I_YWRF1 = *WRF1

          EXCEPTIONS

               OTHERS  = 0.

*-- Rückmeldung an Tabelle PX_T_WEWU00 --------------------------------*

     PX_T_WEWU00-UMSTA = 'C'.

     PX_T_WEWU00-BADAT = SY-DATUM.

     MODIFY PX_T_WEWU00.

   ENDLOOP.

* Commit anfordern ----------------------------------------------------*

   PE_COMWO = YES.

ENDFUNCTION.

*----------------------------------------------------------------------*

*  Tabelle WRF1 lesen --> *WRF1

*----------------------------------------------------------------------*

FORM WRF1_FUELLEN USING PI_WERKS LIKE T001W-WERKS

                         PE_SUBRC LIKE SY-SUBRC.

   CALL FUNCTION 'LOCATION_SELECT_PLANT'

        EXPORTING

             I_WERKS         = PI_WERKS

        IMPORTING

             O_T001W         = *T001W

        EXCEPTIONS

             NO_VALID_PLANT  = 01

             PLANT_NOT_FOUND = 02

             OTHERS          = 03.

   IF SY-SUBRC NE 0.

     PE_SUBRC = 04.

   ENDIF.

   CALL FUNCTION 'LOCATION_WRF1_SELECT'

        EXPORTING

             I_LOCNR        = *T001W-KUNNR

        IMPORTING

             A_WRF1         = *WRF1

        EXCEPTIONS

             NO_ENTRY_FOUND = 1

             OTHERS         = 2.

   IF SY-SUBRC NE 0.

     PE_SUBRC = 04.

   ENDIF.

ENDFORM.

Regards,

Kavya