Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ABAP: Batch-Input

Empfohlene Antworten

Moinsen allerseits.

Ich soll bei mir im Betrieb ein Batch-Input Programm via CALL TRANSACTION schreiben.

Kennt jemand von euch ein einführendes Tutorial dafür?

Da ich vorher sowas noch nicht gemacht habe fehlt mir dafür jegliche Kentniss und ich weiss sogut wie nichts darüber.

Danke im Voraus.

hier mal n kleines beispielprog...

die bdctab ist das eigentliche "Script" dass man der transacktion mitgibt...

mit sm35 aufzeichnen was du machen willst und die dann ansehn welche werte du dafür in das script schreiben musst

gibt aber sicher auch nen anderen weg das zu lösen, ich hab die batch idee hier zum. auch verworfen und hab den standard geändert

*TABLES: tmsqwlf,

*        tmsqwl,

*        usr02,

*        tmsbuftxt.

*

*DATA: bdctab        LIKE bdcdata   OCCURS 0 WITH HEADER LINE,

*      i_tms         LIKE tmsbuftxt OCCURS 0 WITH HEADER LINE,

*      i_tms2        LIKE tmsqwl    OCCURS 0 WITH HEADER LINE,

*      tr_txt(15)    TYPE c,

*      bdc_txt(20)   TYPE c,

*      count         TYPE i,

*      count2        TYPE i,

*      count_char(2) TYPE c.

*

*SELECTION-SCREEN BEGIN OF BLOCK eins WITH FRAME.

*PARAMETERS: p_bus(2) TYPE c,

*            p_kus(3) TYPE c,

*            p_pqr(8) TYPE c.

*

*SELECTION-SCREEN ULINE.

*

*SELECT-OPTIONS: sel_trq FOR tmsbuftxt-trkorr,

*                sel_own FOR usr02-bname.

*

*SELECTION-SCREEN ULINE.

*

*SELECT-OPTIONS: sel_dat FOR tmsqwl-as4date.

*

*SELECTION-SCREEN END OF BLOCK eins.

*

*SELECTION-SCREEN BEGIN OF BLOCK zwei WITH FRAME TITLE text-001.

*PARAMETERS: c_own AS CHECKBOX,

*            c_dep AS CHECKBOX,

*            c_adm AS CHECKBOX.

*SELECTION-SCREEN END OF BLOCK zwei.

*

*IF sel_dat IS NOT INITIAL.

*  SELECT * FROM tmsqwl INTO TABLE i_tms2 WHERE as4date IN sel_dat.

*

*  LOOP AT i_tms2.

*    SELECT SINGLE * FROM tmsbuftxt WHERE owner  IN sel_own

*                                     AND trkorr =  i_tms2-trkorr.

*    CLEAR i_tms.

*    MOVE-CORRESPONDING tmsbuftxt TO i_tms.

*    APPEND i_tms.

*  ENDLOOP.

*ELSE.

*  SELECT * FROM tmsbuftxt INTO TABLE i_tms WHERE owner  IN sel_own

*                                             AND trkorr IN sel_trq.

*ENDIF.

*

*

*IF p_pqr IS INITIAL.

*  CONCATENATE p_bus p_kus INTO tr_txt SEPARATED BY space.

*ELSE.

*  CONCATENATE p_bus p_kus p_pqr INTO tr_txt SEPARATED BY space.

*ENDIF.

*

*CONDENSE tr_txt.

*

*LOOP AT i_tms.

*  FIND tr_txt IN i_tms-text.

*  IF sy-subrc <> 0.

*    DELETE i_tms.

*    CONTINUE.

*  ELSE.

*    IF c_own = 'X'.

*      SELECT SINGLE * FROM tmsqwlf WHERE trkorr     = i_tms-trkorr

*                                     AND step       = 'SAP01'

*                                     AND deleted    = ''

*                                     AND new_import = ''.

*      IF sy-subrc <> 0.

*        DELETE i_tms.

*        CONTINUE.

*      ENDIF.

*    ENDIF.

*    IF c_dep = 'X'.

*      SELECT SINGLE * FROM tmsqwlf WHERE trkorr     = i_tms-trkorr

*                                     AND step       = 'SAP02'

*                                     AND deleted    = ''

*                                     AND new_import = ''.

*      IF sy-subrc <> 0.

*        DELETE i_tms.

*        CONTINUE.

*      ENDIF.

*    ENDIF.

*    IF c_adm = 'X'.

*      SELECT SINGLE * FROM tmsqwlf WHERE trkorr     = i_tms-trkorr

*                                     AND step       = 'SAP03'

*                                     AND deleted    = ''

*                                     AND new_import = ''.

*      IF sy-subrc <> 0.

*        DELETE i_tms.

*        CONTINUE.

*      ENDIF.

*    ENDIF.

*  ENDIF.

*  count = count + 1.

*ENDLOOP.

*

*IF count = 0.

*  WRITE:/ 'no transports found with this selection!'.

*  EXIT.

*ENDIF.

*

**Transaktion aufrufen

*CLEAR bdctab.

*bdctab-dynbegin = 'T'.	

*bdctab-fnam = 'STMS_QA'.

*APPEND bdctab.

*

*CLEAR bdctab.

*bdctab-program = 'SAPMSSY0'.	

*bdctab-dynpro = '120'.

*bdctab-dynbegin = 'X'.

*APPEND bdctab.

**####################

**Refresh

*CLEAR bdctab.

*bdctab-fnam = 'BDC_CURSOR'.	

*bdctab-fval = '38413'.

*APPEND bdctab.

*

*CLEAR bdctab.

*bdctab-fnam = 'BDC_OKCODE'.	

*bdctab-fval = '=REFR_WL'.

*APPEND bdctab.

**####################

**Filter Button

*CLEAR bdctab.

*bdctab-program = 'SAPMSSY0'.	

*bdctab-dynpro = '120'.

*bdctab-dynbegin = 'X'.

*APPEND bdctab.

*

*CLEAR bdctab.

*bdctab-fnam = 'BDC_CURSOR'.	

*bdctab-fval = '07/17'.

*APPEND bdctab.

*

*CLEAR bdctab.

*bdctab-fnam = 'BDC_OKCODE'.	

*bdctab-fval = '=FILT'.

*APPEND bdctab.

**####################

**multiple selection

*CLEAR bdctab.

*bdctab-program = 'SAPLTMSU_IQ'.	

*bdctab-dynpro = '504'.

*bdctab-dynbegin = 'X'.

*APPEND bdctab.

*

*CLEAR bdctab.

*bdctab-fnam = 'BDC_CURSOR'.	

*bdctab-fval = 'SO_TRKOR-LOW'.

*APPEND bdctab.

*

*CLEAR bdctab.

*bdctab-fnam = 'BDC_OKCODE'.	

*bdctab-fval = '=%002'.

*APPEND bdctab.

**####################

**Transporte eingeben

*CLEAR bdctab.

*bdctab-program = 'SAPLALDB'.	

*bdctab-dynpro = '3000'.

*bdctab-dynbegin = 'X'.

*APPEND bdctab.

*

*CLEAR bdc_txt.

*bdc_txt = '=P+'.

*

*IF count < 8.

*  CLEAR bdc_txt.

*  bdc_txt = '=ACPT'.

*ENDIF.

*

*CLEAR bdctab.

*bdctab-fnam = 'BDC_OKCODE'.	

*bdctab-fval = bdc_txt.

*APPEND bdctab.

*

*CLEAR bdctab.

*bdctab-fnam = 'BDC_SUBSCR'.	

*bdctab-fval = 'SAPLALDB

*3010SCREEN_HEADER'.

*APPEND bdctab.

*

*count2 = 0.

*

*LOOP AT i_tms.

*

*  CLEAR bdc_txt.

*  count2 = count2 + 1.

*  count_char = '00'.

*  count_char = count_char + count2.

*  CONCATENATE 'RSCSEL-SLOW_I(' count_char ')'INTO bdc_txt.

*

*  CLEAR bdctab.

*  bdctab-fnam = bdc_txt.

*  bdctab-fval = i_tms-trkorr.

*  APPEND bdctab.

*

*  IF count2 = 8.

*    count2 = 1.

*

*    CLEAR bdctab.

*    bdctab-program = 'SAPLALDB'.	

*    bdctab-dynpro = '3000'.

*    bdctab-dynbegin = 'X'.

*    APPEND bdctab.

*

*    CLEAR bdc_txt.

*    bdc_txt = '=P+'.

*

*    CLEAR bdctab.

*    bdctab-fnam = 'BDC_OKCODE'.	

*    bdctab-fval = bdc_txt.

*    APPEND bdctab.

*

*    CLEAR bdctab.

*    bdctab-fnam = 'BDC_SUBSCR'.	

*bdctab-fval = 'SAPLALDB

*3010SCREEN_HEADER'.

*    APPEND bdctab.

*

*  ENDIF.

*

*ENDLOOP.

**letzten screen leer lassen, jedoch nötig wegen ACPT code...

*CLEAR bdc_txt.

*bdc_txt = '=ACPT'.

*

*CLEAR bdctab.

*bdctab-fnam = 'BDC_OKCODE'.	

*bdctab-fval = bdc_txt.

*APPEND bdctab.

*

*CLEAR bdctab.

*bdctab-fnam = 'BDC_SUBSCR'.	

*bdctab-fval = 'SAPLALDB

*3010SCREEN_HEADER'.

*APPEND bdctab.

*

**#########################

**selektion erneut bestätigen

*CLEAR bdctab.

*bdctab-program = 'SAPLTMSU_IQ'.	

*bdctab-dynpro = '504'.

*	

*bdctab-dynbegin = 'X'.

*APPEND bdctab.

*

*CLEAR bdctab.

*bdctab-fnam = 'BDC_CURSOR'.	

*bdctab-fval = 'SO_TRKOR-LOW'.

*APPEND bdctab.

*

*CLEAR bdctab.

*bdctab-fnam = 'BDC_OKCODE'.	

*bdctab-fval = '=OKAY'.

*APPEND bdctab.

**#########################

*

*CALL TRANSACTION 'STMS_QA' USING bdctab MODE 'E'.

Danke für den Post.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.