BDC pop-up screen recording solution (ABUMN)

Introduction: Recently, I was working on an asset value transfer program. I didn’t find a suitable function, so I used BDC. However, there is a problem that, for the transaction code ABUMN, the first time you enter it, a pop-up window will pop up to enter the company code. No, there will be a default parameter ID, so there is no way to control it.

Solution:

Find the parameter ID of the company code. Before the BDC screen recording starts, pass the parameter to the parameter ID first, and then use the BDC to call the transaction code, and there will be no pop-up prompt.

SET PARAMETER ID 'BUK' FIELD P_BUKRS.

insert image description here

Complete ABUMN screen recording code:

   SET PARAMETER ID 'BUK' FIELD P_BUKRS.

    PERFORM BDC_DYNPRO      USING 'SAPLAMDP' '0100'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '/ENEWC'.

    PERFORM BDC_DYNPRO      USING 'SAPLSPO4' '0300'.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'SVALD-VALUE(01)'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '=FURT'.
    PERFORM BDC_FIELD       USING 'SVALD-VALUE(01)'
                                  <FS_OUT>-BUKRS.
    PERFORM BDC_DYNPRO      USING 'SAPLAMDP' '0100'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '=TAB02'.
    PERFORM BDC_FIELD       USING 'RAIFP2-ANLN1'
                                  <FS_OUT>-INVZU1.
    PERFORM BDC_FIELD       USING 'RAIFP2-ANLN2'
                                  <FS_OUT>-INVZU2.
    PERFORM BDC_FIELD       USING 'RAIFP1-BLDAT'
                                  LV_DATE2 .     " 上线日期
    PERFORM BDC_FIELD       USING 'RAIFP1-BUDAT'
                                  LV_DATE2 ..    " 上线日期
    PERFORM BDC_FIELD       USING 'RAIFP1-BZDAT'
                                  LV_BZDAT.      " 资产价值日
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'RAIFP3-ANLN2'.
    PERFORM BDC_FIELD       USING 'RAIFP3-XBANL'
                                  'X'."已存资产
    PERFORM BDC_FIELD       USING 'RAIFP3-ANLN1'
                                  <FS_OUT>-ANLN1.
    PERFORM BDC_FIELD       USING 'RAIFP3-ANLN2'
                                  <FS_OUT>-ANLN2.

    PERFORM BDC_DYNPRO      USING 'SAPLAMDP' '0100'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '=TAB03'.
    PERFORM BDC_FIELD       USING 'RAIFP2-ANLN1'
                                  <FS_OUT>-INVZU1.
    PERFORM BDC_FIELD       USING 'RAIFP2-ANLN2'
                                  <FS_OUT>-INVZU2.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'RAIFP1-BLART'.
    PERFORM BDC_FIELD       USING 'RAIFP1-BLART'
                                  'Z1'.
    PERFORM BDC_FIELD       USING 'RAIFP1-TRAVA'
                                   '4'.

    PERFORM BDC_DYNPRO      USING 'SAPLAMDP' '0100'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '=SAVE'.
    PERFORM BDC_FIELD       USING 'RAIFP2-ANLN1'
                                  <FS_OUT>-INVZU1.
    PERFORM BDC_FIELD       USING 'RAIFP2-ANLN2'
                                  <FS_OUT>-INVZU2.
    PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'RAIFP2-XANEU'.
    PERFORM BDC_DYNPRO      USING 'SAPLAMDP' '0100'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '/ERTRN'.
    PERFORM BDC_DYNPRO      USING 'SAPLSPO1' '0200'.
    PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '=YES'.


    LV_MODE = 'N'.
    CALL TRANSACTION 'ABUMN' USING BDCDATA[]
                             MODE LV_MODE    "不显示事务屏幕
                             UPDATE 'S'  "同步更新.
                             MESSAGES INTO ZBDCMSGCOLL."错误信息写入zbdcmsgcoll

Author: Little Flying Pig Pig Pig Pig Pig Pig Pig – CSDN

Guess you like

Origin blog.csdn.net/JYH1999/article/details/127651219
BDC