2022 Jul 12 9:43 PM
I need make a batch Input for AS02 but, a have an error: Batch input data for screen SAPLSP01 0100 does not exist as02, please help me this is Batch Input in AS02, follow my code:
FORM z_carrega_transacao.
CALL TRANSACTION 'AS02' USING it_bdcdata
MODE vg_mode "'S'
UPDATE vg_s "'S'
MESSAGES INTO it_msg.
ENDFORM.
FORM f_batch_input_as02 .
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
CONSTANTS:
c_0100(4) TYPE c VALUE '0100',
c_1000(4) TYPE c VALUE '1000',
c_buch(5) TYPE c VALUE '=BUCH',
c_mast(5) TYPE c VALUE 'MAST',
c_00(3) TYPE c VALUE '/00',
c_tab03(6) TYPE c VALUE '=TAB03',
c_programa(8) TYPE c VALUE 'SAPLAIST',
c_cursor(10) TYPE c VALUE 'BDC_CURSOR',
c_okcode(10) TYPE c VALUE 'BDC_OKCODE',
c_bdc_subscr(10) TYPE c VALUE 'BDC_SUBSCR',
c_anla_anln1(10) TYPE c VALUE 'ANLA-ANLN1',
c_anla_bukrs(10) TYPE c VALUE 'ANLA-BUKRS',
c_anla_anln2(10) TYPE c VALUE 'ANLA-ANLN2',
c_anla_sernr(10) TYPE c VALUE 'ANLA-SERNR',
c_anla_menge(10) TYPE c VALUE 'ANLA-MENGE',
c_anla_meins(10) TYPE c VALUE 'ANLA-MEINS',
c_anla_txt50(10) TYPE c VALUE 'ANLA-TXT50',
c_anla_aktiv(10) TYPE c VALUE 'ANLA-AKTIV',
c_anla_gdlgrp(11) TYPE c VALUE 'ANLA-GDLGRP',
c_ra02s_eqanz(11) TYPE c VALUE 'RA02S-EQANZ',
c_anlh_anlhtxt(12) TYPE c VALUE 'ANLH-ANLHTXT',
c_anla_ord42(10) TYPE c VALUE 'ANLA-ORD42',
c_anla_izwek(10) TYPE c VALUE 'ANLA-IZWEK',
c_anla_invnr(10) TYPE c VALUE 'ANLA-INVNR'.
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
LOOP AT gt_alv
ASSIGNING FIELD-SYMBOL(<fs_alv>)
WHERE processa_inventario EQ abap_true.
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
PERFORM z_preenche_bdc USING:
abap_true c_programa c_0100, "PROGRAMA E TELA
space c_cursor c_anla_anln1,
space c_okcode c_00, "c_mast, "BOTÃO
space c_anla_anln1 <fs_alv>-anln1,
space c_anla_anln2 <fs_alv>-anln2,
space c_anla_bukrs <fs_alv>-bukrs.
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
SELECT SINGLE bukrs, anln1, anln2, txt50, sernr,
menge, meins, gdlgrp, aktiv, invnr, ord42, izwek
FROM anla
INTO @DATA(ls_anla)
WHERE bukrs EQ @<fs_alv>-bukrs
AND anln1 EQ @<fs_alv>-anln1
AND anln2 EQ @<fs_alv>-anln2.
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
IF sy-subrc EQ 0.
SELECT SINGLE anlhtxt
FROM anlh
INTO @DATA(ls_anlh)
WHERE anln1 EQ @ls_anla-anln1
AND bukrs EQ @ls_anla-bukrs.
ENDIF.
DATA: lv_menge(6) TYPE c,
lv_aktiv(10) TYPE c.
lv_menge = ls_anla-menge.
CONDENSE: lv_menge.
SPLIT lv_menge AT '.' INTO DATA(lv_number) DATA(lv_trash).
CONDENSE: lv_number.
lv_aktiv = |{ ls_anla-aktiv+6(2) }.{ ls_anla-aktiv+4(2) }.{ ls_anla-aktiv(4) }|.
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
PERFORM z_preenche_bdc USING:
abap_true c_programa c_1000, "PROGRAMA E TELA
space c_okcode c_tab03, "BOTÃO
space c_bdc_subscr 'SAPLAIST 0099KOPF',
space c_bdc_subscr 'SAPLATAB 0100TABSTRIP',
space c_bdc_subscr 'SAPLATAB 0200SUBSC',
space c_bdc_subscr 'SAPLAIST 1140AREA1',
space c_cursor c_anla_txt50,
space c_anla_txt50 ls_anla-txt50,
space c_anlh_anlhtxt ls_anlh,
space c_anla_invnr ls_anla-invnr,
space c_anla_meins ls_anla-meins,
space c_bdc_subscr 'SAPLATAB 0300AREA2',
space c_bdc_subscr 'SAPLAIST 1142AREA3',
space c_anla_aktiv lv_aktiv,
space c_bdc_subscr 'SAPLATAB 0300AREA4',
space c_bdc_subscr 'SAPLATAB 0300AREA5',
space c_bdc_subscr 'SAPLATAB 0300AREA6',
space c_bdc_subscr 'SAPLATAB 0300AREA7'.
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
PERFORM z_preenche_bdc USING:
abap_true c_programa c_1000, "PROGRAMA E TELA
space c_okcode c_buch, "BOTÃO
space c_bdc_subscr 'SAPLAIST 0099KOPF',
space c_bdc_subscr 'SAPLATAB 0100TABSTRIP',
space c_bdc_subscr 'SAPLATAB 0200SUBSC',
space c_bdc_subscr 'SAPLAIST 1160AREA1',
space c_cursor c_anla_gdlgrp,
space c_anla_ord42 ls_anla-ord42,
space c_anla_gdlgrp <fs_alv>-status_bem,
space c_anla_izwek ls_anla-izwek,
space c_bdc_subscr 'SAPLATAB 0300AREA2',
space c_bdc_subscr 'SAPLAIST 1170AREA3',
space c_ra02s_eqanz '1',
space c_bdc_subscr 'SAPLATAB 0300AREA4',
space c_bdc_subscr 'SAPLATAB 0300AREA5',
space c_bdc_subscr 'SAPLATAB 0300AREA6',
space c_bdc_subscr 'SAPLATAB 0300AREA7'.
"----------------------------------------------------------------------------
PERFORM z_carrega_transacao.
"----------------------------------------------------------------------------
PERFORM z_imprime_mensagem.
"----------------------------------------------------------------------------
ENDLOOP.
ENDFORM.
I need make a batch Input for AS02 but, a have an error: Batch input data for screen SAPLSP01 0100 does not exist as02, please help me this is Batch Input in AS02, follow my code:
FORM z_carrega_transacao.
CALL TRANSACTION 'AS02' USING it_bdcdata
MODE vg_mode "'S'
UPDATE vg_s "'S'
MESSAGES INTO it_msg.
ENDFORM.
FORM f_batch_input_as02 .
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
CONSTANTS:
c_0100(4) TYPE c VALUE '0100',
c_1000(4) TYPE c VALUE '1000',
c_buch(5) TYPE c VALUE '=BUCH',
c_mast(5) TYPE c VALUE 'MAST',
c_00(3) TYPE c VALUE '/00',
c_tab03(6) TYPE c VALUE '=TAB03',
c_programa(8) TYPE c VALUE 'SAPLAIST',
c_cursor(10) TYPE c VALUE 'BDC_CURSOR',
c_okcode(10) TYPE c VALUE 'BDC_OKCODE',
c_bdc_subscr(10) TYPE c VALUE 'BDC_SUBSCR',
c_anla_anln1(10) TYPE c VALUE 'ANLA-ANLN1',
c_anla_bukrs(10) TYPE c VALUE 'ANLA-BUKRS',
c_anla_anln2(10) TYPE c VALUE 'ANLA-ANLN2',
c_anla_sernr(10) TYPE c VALUE 'ANLA-SERNR',
c_anla_menge(10) TYPE c VALUE 'ANLA-MENGE',
c_anla_meins(10) TYPE c VALUE 'ANLA-MEINS',
c_anla_txt50(10) TYPE c VALUE 'ANLA-TXT50',
c_anla_aktiv(10) TYPE c VALUE 'ANLA-AKTIV',
c_anla_gdlgrp(11) TYPE c VALUE 'ANLA-GDLGRP',
c_ra02s_eqanz(11) TYPE c VALUE 'RA02S-EQANZ',
c_anlh_anlhtxt(12) TYPE c VALUE 'ANLH-ANLHTXT',
c_anla_ord42(10) TYPE c VALUE 'ANLA-ORD42',
c_anla_izwek(10) TYPE c VALUE 'ANLA-IZWEK',
c_anla_invnr(10) TYPE c VALUE 'ANLA-INVNR'.
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
LOOP AT gt_alv
ASSIGNING FIELD-SYMBOL(<fs_alv>)
WHERE processa_inventario EQ abap_true.
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
PERFORM z_preenche_bdc USING:
abap_true c_programa c_0100, "PROGRAMA E TELA
space c_cursor c_anla_anln1,
space c_okcode c_00, "c_mast, "BOTÃO
space c_anla_anln1 <fs_alv>-anln1,
space c_anla_anln2 <fs_alv>-anln2,
space c_anla_bukrs <fs_alv>-bukrs.
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
SELECT SINGLE bukrs, anln1, anln2, txt50, sernr,
menge, meins, gdlgrp, aktiv, invnr, ord42, izwek
FROM anla
INTO @DATA(ls_anla)
WHERE bukrs EQ @<fs_alv>-bukrs
AND anln1 EQ @<fs_alv>-anln1
AND anln2 EQ @<fs_alv>-anln2.
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
IF sy-subrc EQ 0.
SELECT SINGLE anlhtxt
FROM anlh
INTO @DATA(ls_anlh)
WHERE anln1 EQ @ls_anla-anln1
AND bukrs EQ @ls_anla-bukrs.
ENDIF.
DATA: lv_menge(6) TYPE c,
lv_aktiv(10) TYPE c.
lv_menge = ls_anla-menge.
CONDENSE: lv_menge.
SPLIT lv_menge AT '.' INTO DATA(lv_number) DATA(lv_trash).
CONDENSE: lv_number.
lv_aktiv = |{ ls_anla-aktiv+6(2) }.{ ls_anla-aktiv+4(2) }.{ ls_anla-aktiv(4) }|.
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
PERFORM z_preenche_bdc USING:
abap_true c_programa c_1000, "PROGRAMA E TELA
space c_okcode c_tab03, "BOTÃO
space c_bdc_subscr 'SAPLAIST 0099KOPF',
space c_bdc_subscr 'SAPLATAB 0100TABSTRIP',
space c_bdc_subscr 'SAPLATAB 0200SUBSC',
space c_bdc_subscr 'SAPLAIST 1140AREA1',
space c_cursor c_anla_txt50,
space c_anla_txt50 ls_anla-txt50,
space c_anlh_anlhtxt ls_anlh,
space c_anla_invnr ls_anla-invnr,
space c_anla_meins ls_anla-meins,
space c_bdc_subscr 'SAPLATAB 0300AREA2',
space c_bdc_subscr 'SAPLAIST 1142AREA3',
space c_anla_aktiv lv_aktiv,
space c_bdc_subscr 'SAPLATAB 0300AREA4',
space c_bdc_subscr 'SAPLATAB 0300AREA5',
space c_bdc_subscr 'SAPLATAB 0300AREA6',
space c_bdc_subscr 'SAPLATAB 0300AREA7'.
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
"----------------------------------------------------------------------------
PERFORM z_preenche_bdc USING:
abap_true c_programa c_1000, "PROGRAMA E TELA
space c_okcode c_buch, "BOTÃO
space c_bdc_subscr 'SAPLAIST 0099KOPF',
space c_bdc_subscr 'SAPLATAB 0100TABSTRIP',
space c_bdc_subscr 'SAPLATAB 0200SUBSC',
space c_bdc_subscr 'SAPLAIST 1160AREA1',
space c_cursor c_anla_gdlgrp,
space c_anla_ord42 ls_anla-ord42,
space c_anla_gdlgrp <fs_alv>-status_bem,
space c_anla_izwek ls_anla-izwek,
space c_bdc_subscr 'SAPLATAB 0300AREA2',
space c_bdc_subscr 'SAPLAIST 1170AREA3',
space c_ra02s_eqanz '1',
space c_bdc_subscr 'SAPLATAB 0300AREA4',
space c_bdc_subscr 'SAPLATAB 0300AREA5',
space c_bdc_subscr 'SAPLATAB 0300AREA6',
space c_bdc_subscr 'SAPLATAB 0300AREA7'.
"----------------------------------------------------------------------------
PERFORM z_carrega_transacao.
"----------------------------------------------------------------------------
PERFORM z_imprime_mensagem.
"----------------------------------------------------------------------------
ENDLOOP.
ENDFORM.
2022 Jul 12 9:47 PM
Hi
It is based on asset class, some screen will be enabled / disabled..
So, while recording for BDC (shdb) - make sure you use that record for that specific asset class.
2022 Jul 13 4:43 AM
It means that your recording doesn't match the screen which is "displayed".
Use MODE 'A' to display screen by screen, to see what happens:
CALL TRANSACTION ... USING ... MODE 'A' ...If the sequence of screens vary, you must investigate what is the exact condition and reflect in your program.
2022 Jul 13 10:25 AM
Could you consider using a BAPI such as BAPI_FIXEDASSET_CHANGE, or adapting your BDC based on asset class and status?
NB: The Dynpro of the error message is related to the FM Popup_to_confirm_step, try to run the BDC online (mode 'A') Is the popup triggered by the SAP standard or by a customer development, in the last case, 'maybe' the programmer forgot to handle the BDC and BAPI mode?
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |