【SD】交货单如何在保存时更改LIKP表的值?

之前在网上看到这样一个帖子,虽然日子有些久远了,但时下面却依旧没有任何答复。

大概意思就是说这个哥们找到了交货单增强程序“MV50AFZ1”,并且在方法“USEREXIT_SAVE_DOCUMENT_PREPARE”中插入了自己心仪的代码,一点保存心想大功告成,却不成没有更新到表LIKP中,百般无奈,只能求助网友,可惜的是没有等到回复。

其实这个细心的朋友就会发现有这样一个方法“USEREXIT_MOVE_FIELD_TO_LIKP” ,上面的说明文字已经描述的非常清晰了。

【示例代码】

*---------------------------------------------------------------------*
*       FORM USEREXIT_MOVE_FIELD_TO_LIKP                              *
*---------------------------------------------------------------------*
*       This userexit can be used to move some fields into the        *
*       delivery header workaerea LIKP.                               *
*       This form is called, when a header is created                 *
*       This form is called at the end of form LIKP_FUELLEN.          *
*                                                                     *
*---------------------------------------------------------------------*
FORM USEREXIT_MOVE_FIELD_TO_LIKP.
*{   INSERT         ECDK904748                                        1
  DATA : LV_USERID TYPE ZBC001-USEID.

  IF T180-TRTYP = 'H'.
    GET PARAMETER ID 'USEID' FIELD LV_USERID.
    IF LV_USERID IS NOT INITIAL AND LIKP-USEID IS INITIAL.
      LIKP-USEID = LV_USERID.
    ENDIF.
  ENDIF.
*}   INSERT

*  LIKP-zzfield = xxxx-zzfield2.

ENDFORM.

本意就是在创建交货单抬头信息的时候则会自动赋值(事务代码:VL01N),这种情况还可以用到这样一种情况下面。

比如我们做了交货单的抬头增强,抬头中几个字段是不可编辑的,每次默认存入某些值,也在增强中写好了处理逻辑,但是会有这样一种情况,要是不去点击“附加信息”页签,这部分逻辑不会自动处理,也就不会自动存入某些值,那么,在这种情况下,上面这个方法就派上用场了。

各位朋友,有好的方法,请留言告知,一起学习。 

猜你喜欢

转载自blog.csdn.net/zhongguomao/article/details/106532713