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

update task

Former Member
0 Likes
1,950

can anybody tell me abt update function module used in update task with any example??

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,417

Hi,

To be able to call a function module in an update work process, you must flag it in the Function Builder.

When you create the function module, set the Process Type attribute to one of the following values:

1)Update with immediate start

Set this option for high priority ("V1") functions that run in a shared (SAP LUW).

These functions can be restarted by the update task in case of errors.

2)Update w. imm. start, no restart

Set this option for high priority ("V1") functions that run in a shared (SAP LUW).

These functions may not be restarted by the update task.

3)Update with delayed start

Set this option for low priority ("V2") functions that run in their own update transactions.

These functions can be restarted by the update task in case of errors.

In ABAP, you can call update-task function modules in two different ways.

The way you choose determines what parameter values are used when the function module is actually executed.

Parameter values can be set either at the time of the CALL FUNCTION statement, or at the time of the COMMIT WORK.

1)Calling Update Functions Directly

To call a function module directly, use CALL FUNCTION IN UPDATE TASK directly in your code.

CALL FUNCTION 'FUNCTMOD' IN UPDATE TASK EXPORTING...

The system then logs your request and executes the function module when the next COMMIT WORK statement is reached. The parameter values used to execute the function module are those current at the time of the call.

a = 1.

CALL FUNCTION 'UPD_FM' IN UPDATE TASK EXPORTING PAR = A...

a = 2.

CALL FUNCTION 'UPD_FM' IN UPDATE TASK EXPORTING PAR = A...

a = 3.

COMMIT WORK.

Here, the function module UPD_FM is performed twice in the update task:

the first time, with value 1 in PAR,

the second time with value 2 in PAR.

2)Adding Update-Task Calls to a Subroutine

You can also put the CALL FUNCTION IN UPDATE TASK into a subroutine and call the subroutine with:

PERFORM SUBROUT ON COMMIT.

If you choose this method, the subroutine is executed at the commit. Thus the request to run the function in the update task is also logged during commit processing. As a result, the parameter values logged with the request are those current at the time of the commit.

a = 1.

PERFORM F ON COMMIT.

a = 2. PERFORM F ON COMMIT.

a = 3. COMMIT WORK. FORM f.

CALL FUNCTION 'UPD_FM' IN UPDATE TASK EXPORTING PAR = A.

ENDFORM.

In this example, the function module UPD_FM is carried out with the value 3 in PAR.

The update task executes the function module only once, despite the two PERFORM ON COMMIT statements.

This is because a repeatedly registered one can only be executed once in the case of COMMIT WORK.

The subroutine itself, containing the function module call, may not have parameters.

2 REPLIES 2
Read only

Former Member
0 Likes
1,417

[Creating Update Function Modules|http://help.sap.com/saphelp_nw04/helpdata/en/41/7af4daa79e11d1950f0000e82de14a/frameset.htm]

Request you to kindly search SDN for more details/Results on Update function modules, like the one below.

[Search Results For Update function modules|https://www.sdn.sap.com/irj/scn/advancedsearch?query=updatefunctionmodules&cat=sdn_all]

Cheers,

Sathish

Read only

Former Member
0 Likes
1,418

Hi,

To be able to call a function module in an update work process, you must flag it in the Function Builder.

When you create the function module, set the Process Type attribute to one of the following values:

1)Update with immediate start

Set this option for high priority ("V1") functions that run in a shared (SAP LUW).

These functions can be restarted by the update task in case of errors.

2)Update w. imm. start, no restart

Set this option for high priority ("V1") functions that run in a shared (SAP LUW).

These functions may not be restarted by the update task.

3)Update with delayed start

Set this option for low priority ("V2") functions that run in their own update transactions.

These functions can be restarted by the update task in case of errors.

In ABAP, you can call update-task function modules in two different ways.

The way you choose determines what parameter values are used when the function module is actually executed.

Parameter values can be set either at the time of the CALL FUNCTION statement, or at the time of the COMMIT WORK.

1)Calling Update Functions Directly

To call a function module directly, use CALL FUNCTION IN UPDATE TASK directly in your code.

CALL FUNCTION 'FUNCTMOD' IN UPDATE TASK EXPORTING...

The system then logs your request and executes the function module when the next COMMIT WORK statement is reached. The parameter values used to execute the function module are those current at the time of the call.

a = 1.

CALL FUNCTION 'UPD_FM' IN UPDATE TASK EXPORTING PAR = A...

a = 2.

CALL FUNCTION 'UPD_FM' IN UPDATE TASK EXPORTING PAR = A...

a = 3.

COMMIT WORK.

Here, the function module UPD_FM is performed twice in the update task:

the first time, with value 1 in PAR,

the second time with value 2 in PAR.

2)Adding Update-Task Calls to a Subroutine

You can also put the CALL FUNCTION IN UPDATE TASK into a subroutine and call the subroutine with:

PERFORM SUBROUT ON COMMIT.

If you choose this method, the subroutine is executed at the commit. Thus the request to run the function in the update task is also logged during commit processing. As a result, the parameter values logged with the request are those current at the time of the commit.

a = 1.

PERFORM F ON COMMIT.

a = 2. PERFORM F ON COMMIT.

a = 3. COMMIT WORK. FORM f.

CALL FUNCTION 'UPD_FM' IN UPDATE TASK EXPORTING PAR = A.

ENDFORM.

In this example, the function module UPD_FM is carried out with the value 3 in PAR.

The update task executes the function module only once, despite the two PERFORM ON COMMIT statements.

This is because a repeatedly registered one can only be executed once in the case of COMMIT WORK.

The subroutine itself, containing the function module call, may not have parameters.