cancel
Showing results for 
Search instead for 
Did you mean: 

reset buffer before using lt0g ​

0 Kudos

I want FM to reset the buffer before using lt0g

because I am used this FM before return delivery to stock
CALL FUNCTION 'WS_REVERSE_GOODS_ISSUE' .

this FM caused an error message
item 900001 does not exist
do you have any solution

Jeansy
Active Contributor
0 Kudos

Can you provide the coding that you used, then we can have a closer look.

KR
Jens

Accepted Solutions (0)

Answers (1)

Answers (1)

0 Kudos

here you

FORM GOODS_ISSUE .

DATA:
fp_vbeln TYPE likp-vbeln,
fp_budat TYPE sy-datlo,
fp_tcode TYPE sy-tcode,
fp_vbtyp TYPE likp-vbtyp,
it_mesg TYPE STANDARD TABLE OF mesg.

fp_vbeln = wa_outtab-DILV.
fp_budat = '20220203'.
fp_tcode = 'VL09'.
fp_vbtyp = 'J'.


CALL FUNCTION 'WS_REVERSE_GOODS_ISSUE'
EXPORTING
i_vbeln = fp_vbeln
i_budat = ZERDAT
* I_COUNT =
* I_MBLNR =
i_tcode = fp_tcode
i_vbtyp = fp_vbtyp
TABLES
t_mesg = it_mesg
EXCEPTIONS
error_reverse_goods_issue = 1
OTHERS = 2.
IF sy-subrc EQ 0.


MESSAGE 'done22222' TYPE 'S'.
COMMIT WORK.
ELSE.

* MESSAGE 'NOT' TYPE 'S'.
ENDIF.
COMMIT WORK.


ENDFORM. " GOODS_ISSUE



***********************************************************

FORM RETURN_DELIVARY_TO_STOCK .

DATA: v_tanum TYPE LTAK-TANUM,
ltap_creat TYPE TABLE OF ltap_creat,
Ls_ltap_creat TYPE ltap_creat,
ls_ltap TYPE ltap,
LT_ltap TYPE TABLE OF ltap,
lt_LTAK TYPE TABLE OF LTAK,
lS_LTAK TYPE LTAK,
LT_LQUA TYPE TABLE OF LQUA,
Ls_LQUA TYPE LQUA.

.




select * from LQUA INTO TABLE LT_LQUA WHERE
vbeln = wa_outtab-DILV.
select * from LTAP INTO TABLE LT_ltap WHERE
vbeln = wa_outtab-DILV.

SORT : LT_ltap,
LT_LQUA.

LOOP AT LT_ltap INTO ls_ltap.
LOOP at LT_LQUA INTO Ls_LQUA WHERE POSNR = ls_ltap-POSNR.
* MOVE: Ls_LQUA-werks TO Ls_ltap_creat-werks,
* Ls_LQUA-lgort TO Ls_ltap_creat-lgort,
* Ls_LQUA-matnr TO Ls_ltap_creat-matnr,
* Ls_LQUA-charg TO Ls_ltap_creat-charg,
* Ls_LQUA-bestq TO Ls_ltap_creat-bestq,
* Ls_LQUA-sobkz TO Ls_ltap_creat-sobkz,
* Ls_LQUA-sonum TO Ls_ltap_creat-sonum,
* Ls_LQUA-verme TO Ls_ltap_creat-anfme,
* Ls_LQUA-meins TO Ls_ltap_creat-altme,
* Ls_LQUA-lqnum TO Ls_ltap_creat-vlqnr,
* Ls_LQUA-lenum TO Ls_ltap_creat-vlenr,
* Ls_LQUA-lgtyp TO Ls_ltap_creat-vltyp,
* Ls_LQUA-lgpla TO Ls_ltap_creat-vlpla.
***MOVE-CORRESPONDING ls_ltap TO Ls_ltap_creat.
** dty+0(6) = lS_LQUA-POSNR.
Ls_ltap_creat-SQUIT = 'X'.
Ls_ltap_creat-MATNR = ls_ltap-MATNR.
Ls_ltap_creat-POSNR = ls_ltap-POSNR.
Ls_ltap_creat-LGORT = ls_ltap-LGORT.
Ls_ltap_creat-WERKS = ls_ltap-WERKS.
Ls_ltap_creat-CHARG = ls_ltap-CHARG.
Ls_ltap_creat-ANFME = ls_ltap-VSOLA.
Ls_ltap_creat-ALTME = ls_ltap-ALTME.
Ls_ltap_creat-NLTYP = ls_ltap-VLTYP.
Ls_ltap_creat-VLQNR = Ls_LQUA-LQNUM.
Ls_ltap_creat-NLPLA = ls_ltap-VLPLA.
Ls_ltap_creat-ITAB_INDEX = ls_ltap-TAPOS.
APPEND Ls_ltap_creat TO ltap_creat .

CLEAR : ls_ltap ,
Ls_ltap_creat,
Ls_LQUA .
ENDLOOP.
ENDLOOP.



call function 'ENQUEUE_EVVBLKE'
exporting
vbeln = wa_outtab-DILV
exceptions
foreign_lock = 2
system_failure = 3.



call function 'L_TO_SET_SPECIAL'
exporting
i_spezi = 'B'
i_vbeln = wa_outtab-DILV
exceptions
call_forbidden = 1
input_wrong = 2
others = 3.

if sy-subrc = 0.
COMMIT WORK.
WAIT UP TO 5 SECONDS.
CALL FUNCTION 'L_TO_CREATE_MULTIPLE'

EXPORTING
i_lgnum = 'DW1'
i_bwlvs = '999'
*i_betyp = 'B'
**i_drukz = '01'
i_commit_work = 'X'
*i_bname = SY-UNAME
*i_kompl = 'X'
**i_solex = 0
**i_pernr = 0
IMPORTING
e_tanum = v_tanum
TABLES
t_ltap_creat = ltap_creat
EXCEPTIONS

no_to_created = 1
bwlvs_wrong = 2
betyp_wrong = 3
benum_missing = 4
betyp_missing = 5
foreign_lock = 6
vltyp_wrong = 7
vlpla_wrong = 8
vltyp_missing = 9
nltyp_wrong = 10
nlpla_wrong = 11
nltyp_missing = 12
rltyp_wrong = 13
rlpla_wrong = 14
rltyp_missing = 15
squit_forbidden = 16
manual_to_forbidden = 17
letyp_wrong = 18
vlpla_missing = 19
nlpla_missing = 20
sobkt_wrong = 21
sobkt_missing = 22
sonum_missing = 23
bestq_wrong = 24
lgber_wrong = 25
xfeld_wrong = 26
date_wrong = 27
drukt_wrong = 28
ldest_wrong = 29
update_without_commit = 30
no_authority = 31
material_not_found = 32
lenum_wrong = 33
matnr_missing = 34
werks_missing = 35
anfme_missing = 36
altme_missing = 37
lgort_wrong_or_missing = 38
OTHERS = 39.

if sy-subrc = 0.
MESSAGE 'doneRET' TYPE 'S'.
* COMMIT WORK.
endif.
*call function 'DEQUEUE_ALL'.
endif.

call function 'L_TO_RESET_SPECIAL'.


call function 'DEQUEUE_EVVBLKE'
exporting
vbeln = wa_outtab-DILV.
COMMIT WORK.
*ENDLOOP.

ENDFORM. " RETURN_DELIVARY_TO_STOCK