Application Development 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: 

AS02 Update via CALL_TRANSACTION

Former Member
0 Kudos

Hi all,

Trying to update Asset serial numbers via AS02 call_transaction in a report. For some reason, the SHDB recording I did works perfectly, yet when I use the BDC steps from it in the program, it doesn't work (I gave up on trying to use the std BAPI as it would say that the asset had been updated successfully when it hadn't)

LOOP AT gt_mseg.

REFRESH it_bdcdata.

IF NOT gt_mseg IS INITIAL.

PERFORM bdc_dynpro USING 'SAPLAIST' '0100'.

PERFORM bdc_field USING 'BDC_CURSOR' 'ANLA-ANLN2'.

PERFORM bdc_field USING 'BDC_OKCODE' '=MAST'.

PERFORM bdc_field USING 'ANLA-ANLN1' gt_mseg-anln1.

PERFORM bdc_field USING 'ANLA-ANLN2' '0'.

PERFORM bdc_field USING 'ANLA-BUKRS' gt_mseg-bukrs.

PERFORM bdc_dynpro USING 'SAPLAIST' '1000'.

PERFORM bdc_field USING 'BDC_OKCODE' '=BUCH'.

PERFORM bdc_field USING 'BDC_CURSOR' 'ANLA-SERNR'.

PERFORM bdc_field USING 'ANLA-SERNR' gt_mseg-sernr.

CALL TRANSACTION 'AS02' USING it_bdcdata

MODE 'N'

UPDATE 'A'.

ENDIF.

ENDLOOP.

ENDIF.

*---------------------------------------------------

* form for bdc dynpro

*---------------------------------------------------

FORM bdc_dynpro USING program

dynpro.

CLEAR it_bdcdata.

wa_bdcdata-program = program.

wa_bdcdata-dynpro = dynpro.

wa_bdcdata-dynbegin = 'X'.

APPEND wa_bdcdata TO it_bdcdata.

ENDFORM. "bdc_dynpro

*---------------------------------------------------

* form for bdc field

*---------------------------------------------------

FORM bdc_field USING fnam

fval.

wa_bdcdata-fnam = fnam.

wa_bdcdata-fval = fval.

APPEND wa_bdcdata TO it_bdcdata.

ENDFORM. "bdc_field

2 REPLIES 2

iftah_peretz
Active Contributor
0 Kudos

Hey,

Use (see here for more😞

...
CALL TRANSACTION 'AS02' USING it_bdcdata
MODE 'A'
UPDATE 'A'.
... 

to nrrow down the exact point where your program recording goes haywire.

raymond_giuseppi
Active Contributor
0 Kudos

The BAPI_FIXEDASSET_CHANGE should have done it (GENERALDATA[X]-SERIAL_NO). Did you get error in RETURN, did you execute BAPI_TRANSACTION_COMMIT when (if) no error returned?

If you stay with BDC

  • Use the MESSAGES INTO itab option in the CALL TRANSACTION statement and check value of sy-subrc after the statement
  • Try mode 'A' or 'E' during test sessions
  • Are you able to change the value for the same asset(s) when executing the transaction?
  • If (when) the dynpro (order subscreens, attachment of fields to subscreens) differs from an asset to another, look for Customizing (or ask functionals) Check Customizing transactions like AOLA and AOLK.