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

Equipment Dismantle & Install (BAPI)

Former Member
2,428

hi folks,

my mission:

i have to dismantle certain equipment and install it afterwards into a new technical place.

for this i use BAPI_EQUI_DISMANTLE to dismantle the equipment and then BAPI_EQUI_INSTALL to install the new equipment.

I have to send a date and a time for BAPI_EQUI_INSTALL in which it will be used as date and time when the equipment was installed. so i use sy-datum and sy-uzeit just before calling the function.

following problem:

when i run the program it says, that the time has to be bigger than the actual time... so i tried sy-uzeit + 1... but then it says that the time is in the future and the equipment cannot be installed.

how stupid is that? it has to be bigger than now but if it is... it can't be installed because it's in the future...

maybe it's just me who is stupid.

somebody knows the answer?

thanks to all in advance.

hi folks,

my mission:

i have to dismantle certain equipment and install it afterwards into a new technical place.

for this i use BAPI_EQUI_DISMANTLE to dismantle the equipment and then BAPI_EQUI_INSTALL to install the new equipment.

I have to send a date and a time for BAPI_EQUI_INSTALL in which it will be used as date and time when the equipment was installed. so i use sy-datum and sy-uzeit just before calling the function.

following problem:

when i run the program it says, that the time has to be bigger than the actual time... so i tried sy-uzeit + 1... but then it says that the time is in the future and the equipment cannot be installed.

how stupid is that? it has to be bigger than now but if it is... it can't be installed because it's in the future...

maybe it's just me who is stupid.

somebody knows the answer?

thanks to all in advance.

3 REPLIES 3
Read only

Former Member
0 Likes
1,740

I'm facing the same trouble; did you solve this problem somehow?

Read only

GiovanniGB
Discoverer
0 Likes
1,323

Hi everyone,

I trying with IE02 batch input to dismantle and install fundloc, but It didn´t work. Just the dismantle executed correctly.

So, I executed sequentially batch input to dismantle, BAPI_EQUI_INSTALL and BAPI_TRANSACTION_COMMIT and It´s working for me.

You must execute batch input with the follow parameters:

  DATA(ls_options) = VALUE ctu_params( dismode  = 'P'
                                       updmode  = 'S'
                                       defsize  = 'X'
                                       racommit = 'X'
                                      ).

  CALL TRANSACTION 'IE02' USING bdcdata
                          OPTIONS FROM ls_options
                          MESSAGES INTO messtab.

And I share the complete code of batch input:

DATA: bdcdata LIKE bdcdata    OCCURS 0 WITH HEADER LINE,
      messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.

PARAMETERS: p_equnr TYPE equi-equnr DEFAULT '400087100',
            p_tplnr TYPE tplnr      DEFAULT 'S004',
            p_datum TYPE sy-datum   DEFAULT sy-datum,
            p_uzeti TYPE sY-uzeit   DEFAULT sy-uzeit.

START-OF-SELECTION.
  " Hora Desmontaje
  DATA(lv_uzeit_desins) = p_uzeti(2) && ':' && p_uzeti+2(2) && ':' && p_uzeti+4(2).

  " Hora Nuevo Montaje
  DATA(lv_uzeit_aux) = conv  sy-uzeit( p_uzeti + 1 ).
  DATA(lv_uzeit_ins) = lv_uzeit_aux(2) && ':' && lv_uzeit_aux+2(2) && ':' && lv_uzeit_aux+4(2).

  DATA(lv_datum) = p_datum+6(2) && '.' && p_datum+4(2) && '.' && p_datum(4).

  REFRESH: bdcdata, messtab.

  PERFORM bdc_dynpro USING 'SAPMIEQ0'   '0100'.
  PERFORM bdc_field  USING 'BDC_CURSOR' 'RM63E-EQUNR'.
  PERFORM bdc_field  USING 'BDC_OKCODE' '/00'.
  PERFORM bdc_field  USING 'RM63E-EQUNR' p_equnr.

  PERFORM bdc_dynpro USING 'SAPMIEQ0'   '0101'.
  PERFORM bdc_field  USING 'BDC_OKCODE' '=T\02'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                0102SUB_DATA'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1020SUB_0102A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1025SUB_1020A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1000SHIFTREPORT_SHIFTNOTE'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1022SUB_0102B'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1052SUB_0102C'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1021SUB_0102D'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1000SUB_1021A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                0152SUB_EQKO'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1520SUB_0152A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1525SUB_0152B'.
  PERFORM bdc_field  USING 'BDC_CURSOR' 'ITOB-SHTXT'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1526SUB_0152C'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1527SUB_0152D'.

  PERFORM bdc_dynpro USING 'SAPMIEQ0'   '0101'.
  PERFORM bdc_field  USING 'BDC_OKCODE' '=CIPL'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                0102SUB_DATA'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1050SUB_0102A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1098SUB_0102B'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLBG00                                3400SUB_1098A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1060SUB_0102C'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1065SUB_1060A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1061SUB_0102D'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLIEL2                                0110SUB_1061A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                0152SUB_EQKO'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1520SUB_0152A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1525SUB_0152B'.
  PERFORM bdc_field  USING 'BDC_CURSOR'         'ITOB-SHTXT'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1526SUB_0152C'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1527SUB_0152D'.

  PERFORM bdc_dynpro USING 'SAPLIEL2'   '0100'.
  PERFORM bdc_field  USING 'BDC_CURSOR'       'IEQINSTALL-DATUM'.
  PERFORM bdc_field  USING 'BDC_OKCODE'       '=IPDL'.
  PERFORM bdc_field  USING 'IEQINSTALL-DATUM' lv_datum.
  PERFORM bdc_field  USING 'IEQINSTALL-UZEIT' lv_uzeit_desins.

  PERFORM bdc_dynpro USING 'SAPLIEL2'   '0100'.
  PERFORM bdc_field  USING 'BDC_CURSOR'       'IEQINSTALL-TPLNR'.
  PERFORM bdc_field  USING 'BDC_OKCODE'       '=EXIT'.
  PERFORM bdc_field  USING 'IEQINSTALL-DATUM' lv_datum.
  PERFORM bdc_field  USING 'IEQINSTALL-UZEIT' lv_uzeit_ins.

  PERFORM bdc_dynpro USING 'SAPMIEQ0'   '0101'.
  PERFORM bdc_field  USING 'BDC_OKCODE'         '=BU'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                0102SUB_DATA'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1050SUB_0102A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1098SUB_0102B'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLBG00                                3400SUB_1098A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1060SUB_0102C'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1065SUB_1060A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1061SUB_0102D'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLIEL2                                0110SUB_1061A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                0152SUB_EQKO'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1520SUB_0152A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1525SUB_0152B'.
  PERFORM bdc_field  USING 'BDC_CURSOR'         'ITOB-SHTXT'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1526SUB_0152C'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1527SUB_0152D'.

  DATA(ls_options) = VALUE ctu_params( dismode  = 'P'
                                       updmode  = 'S'
                                       defsize  = 'X'
                                       racommit = 'X'
                                      ).

  CALL TRANSACTION 'IE02' USING bdcdata
                          OPTIONS FROM ls_options
                          MESSAGES INTO messtab.

 

 

Read only

1,296

Updating, I could desmatle and install with batch input.

DATA: bdcdata LIKE bdcdata    OCCURS 0 WITH HEADER LINE,
      messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.

PARAMETERS: p_equnr TYPE equi-equnr DEFAULT '400087100',
            p_tplnr TYPE tplnr      DEFAULT 'S004',
            p_datum TYPE sy-datum   DEFAULT sy-datum,
            p_uzeti TYPE sy-uzeit   DEFAULT sy-uzeit.

START-OF-SELECTION.
  " Get TPLNR
  SELECT SINGLE b~iloan
    FROM equi AS a
    INNER JOIN equz AS b
    ON  a~equnr EQ b~equnr
     WHERE a~equnr EQ @p_equnr
       AND b~datbi = '99991231'
    INTO @DATA(lv_iloan).
  IF lv_iloan IS NOT INITIAL.
    SELECT SINGLE tplnr
      FROM iloa
      WHERE iloan EQ @LV_iloan
      INTO @DATA(pv_tplnr).
  ENDIF.

  " Hora Desmontaje
  DATA(lv_uzeit_desins) = p_uzeti(2) && ':' && p_uzeti+2(2) && ':' && p_uzeti+4(2).

  " Hora Nuevo Montaje
  DATA(lv_uzeit_aux) = CONV  sy-uzeit( p_uzeti + 1 ).
  DATA(lv_uzeit_ins) = lv_uzeit_aux(2) && ':' && lv_uzeit_aux+2(2) && ':' && lv_uzeit_aux+4(2).

  DATA(lv_datum) = p_datum+6(2) && '.' && p_datum+4(2) && '.' && p_datum(4).

  REFRESH: bdcdata, messtab.

  PERFORM bdc_dynpro USING 'SAPMIEQ0'   '0100'.
  PERFORM bdc_field  USING 'BDC_CURSOR' 'RM63E-EQUNR'.
  PERFORM bdc_field  USING 'BDC_OKCODE' '/00'.
  PERFORM bdc_field  USING 'RM63E-EQUNR' p_equnr.

  PERFORM bdc_dynpro USING 'SAPMIEQ0'   '0101'.
  PERFORM bdc_field  USING 'BDC_OKCODE' '=T\02'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                0102SUB_DATA'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1020SUB_0102A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1025SUB_1020A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1000SHIFTREPORT_SHIFTNOTE'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1022SUB_0102B'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1052SUB_0102C'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1021SUB_0102D'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1000SUB_1021A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                0152SUB_EQKO'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1520SUB_0152A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1525SUB_0152B'.
  PERFORM bdc_field  USING 'BDC_CURSOR' 'ITOB-SHTXT'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1526SUB_0152C'.
  PERFORM bdc_field  USING 'BDC_SUBSCR' 'SAPLITO0                                1527SUB_0152D'.

  PERFORM bdc_dynpro USING 'SAPMIEQ0'   '0101'.
  PERFORM bdc_field  USING 'BDC_OKCODE' '=CIPL'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                0102SUB_DATA'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1050SUB_0102A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1098SUB_0102B'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLBG00                                3400SUB_1098A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1060SUB_0102C'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1065SUB_1060A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1061SUB_0102D'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLIEL2                                0110SUB_1061A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                0152SUB_EQKO'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1520SUB_0152A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1525SUB_0152B'.
  PERFORM bdc_field  USING 'BDC_CURSOR'         'ITOB-SHTXT'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1526SUB_0152C'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1527SUB_0152D'.

  IF pv_tplnr IS NOT INITIAL. " Desmantle old fundloc
    PERFORM bdc_dynpro USING 'SAPLIEL2'   '0100'.
    PERFORM bdc_field  USING 'BDC_CURSOR'       'IEQINSTALL-DATUM'.
    PERFORM bdc_field  USING 'BDC_OKCODE'       '=IPDL'.
    PERFORM bdc_field  USING 'IEQINSTALL-DATUM' lv_datum.
    PERFORM bdc_field  USING 'IEQINSTALL-UZEIT' lv_uzeit_desins.
  ENDIF.

  PERFORM bdc_dynpro USING 'SAPLIEL2'   '0100'.
  PERFORM bdc_field  USING 'BDC_CURSOR'       'IEQINSTALL-TPLNR'.
  PERFORM bdc_field  USING 'BDC_OKCODE'       '=EXIT'.
  PERFORM bdc_field  USING 'IEQINSTALL-TPLNR' p_tplnr.
  PERFORM bdc_field  USING 'IEQINSTALL-DATUM' lv_datum.
  PERFORM bdc_field  USING 'IEQINSTALL-UZEIT' lv_uzeit_ins.

  PERFORM bdc_dynpro USING 'SAPMIEQ0'   '0101'.
  PERFORM bdc_field  USING 'BDC_OKCODE'         '=BU'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                0102SUB_DATA'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1050SUB_0102A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1098SUB_0102B'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLBG00                                3400SUB_1098A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1060SUB_0102C'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1065SUB_1060A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1061SUB_0102D'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLIEL2                                0110SUB_1061A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                0152SUB_EQKO'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1520SUB_0152A'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1525SUB_0152B'.
  PERFORM bdc_field  USING 'BDC_CURSOR'         'ITOB-SHTXT'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1526SUB_0152C'.
  PERFORM bdc_field  USING 'BDC_SUBSCR'         'SAPLITO0                                1527SUB_0152D'.

  DATA(ls_options) = VALUE ctu_params( dismode  = 'P'
                                       updmode  = 'S'
                                       defsize  = 'X'
                                       racommit = 'X'
                                      ).
  WAIT UP TO 1 SECONDS.
  CALL TRANSACTION 'IE02' USING bdcdata
                          OPTIONS FROM ls_options
                          MESSAGES INTO messtab.