PDA

Ver la Versión Completa : Problema con commit work


uo4396
01/03/09, 11:18:09
Hola a todos. Tengo un problema con un commit work. Al realizar la llamada a está función y marcarle el campo commitwork = 'X' el programa no me sigue por el flujo esperado y por lo tanto no puedo redirigir el flujo a mi conveniencia:

¿ Como puedo arreglarlo ?

Os adjunto el código:

CALL FUNCTION 'L_TO_CONFIRM_SU'
EXPORTING
i_lenum = p_lenum
i_squit = 'X'
* I_QUKNZ = ' '
i_subst = 'X'
I_COMMIT_WORK = 'X'
TABLES
t_ltap_conf = lt_ltap_conf
EXCEPTIONS
su_confirmed = 1
su_doesnt_exist = 2
item_confirmed = 3
item_subsystem = 4
item_doesnt_exist = 5
item_without_zero_stock_check = 6
item_with_zero_stock_check = 7
one_item_with_zero_stock_check = 8
foreign_lock = 9
item_su_bulk_storage = 10
item_no_su_bulk_storage = 11
quantity_wrong = 12
double_lines = 13
kzdif_wrong = 14
no_difference = 15
no_negative_quantities = 16
wrong_zero_stock_check = 17
nothing_to_do = 18
no_unit_of_measure = 19
xfeld_wrong = 20
one_item_su_bulk_storage = 21
update_without_commit = 22
no_authority = 23
nlpla_wrong = 24
two_step_confirmation_required = 25
two_step_conf_not_allowed = 26
pick_confirmation_missing = 27
quknz_wrong = 28
hu_data_wrong = 29
no_hu_data_required = 30
hu_data_missing = 31
hu_not_found = 32
picking_of_hu_not_possible = 33
not_enough_stock_in_hu = 34
serial_number_data_wrong = 35
serial_numbers_not_required = 36
no_differences_allowed = 37
serial_number_not_available = 38
serial_number_data_missing = 39
OTHERS = 40.

IF sy-subrc NE 0.
REFRESH messtab.
messtab-msgtyp = sy-msgty.
messtab-msgspra = sy-langu.
messtab-msgid = sy-msgid.
messtab-msgnr = sy-msgno.
messtab-msgv1 = sy-msgv1.
messtab-msgv2 = sy-msgv2.
messtab-msgv3 = sy-msgv3.
messtab-msgv4 = sy-msgv4.
APPEND messtab.

IF g_ck30 EQ 'X'.
CALL SCREEN 9999.
ELSE.
CALL SCREEN 999.
ENDIF.
ELSE.
DELETE gt_tab.
ENDIF.


Gracias a todas.

DavidXD_XD
02/03/09, 03:29:14
Hola, a q te refieres con que no te redirige al flujo esperado?? :confused:

uo4396
02/03/09, 05:20:30
A que no me vuelve el flujo a después de la la llamada de la función....

Gracias

uo4396
02/03/09, 06:06:49
Es decir.... A ver si me explico bien... Al llamar a la función con el commit work no hay manera de que me vuelva de la función y yo pueda gestionar si me ha ocurrido o no algún problema en la llamada a la misma ya que me saca del programa...

He intentado forzar yo el commit work después de la llamada a la función comentando el campo de la función commit pero tampoco me funciona....

Gracias!!!