Jobsteuerung mit Varianten

Getting started ... Alles für einen gelungenen Start.
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Jobsteuerung mit Varianten

Beitrag von Bjuti (ForumUser / 45 / 14 / 0 ) »
Hallo zusammen,

ich würde gerne mein Programm als Hintergrundjob mit Variante einplanen (SE38).

In der Variante werden die Felder eines Selektionsbildes "gefüllt".

Ich glaube das Problem an der ganzen Sache ist, dass ich im Programm selber das Selektionsbild nochmal aufrufe, aber in der Jobsteuerung eine Variante dieses Selektionsbildes mitgebe. Hier mal das Coding:

Code: Alles auswählen.

DATA: lv_day        TYPE C LENGTH 2,        
      lv_month      TYPE C LENGTH 2,       
      lv_year       TYPE C LENGTH 4,         
      lv_months     TYPE C LENGTH 4,          
      gv_date_start TYPE D, 
      gv_date_end   TYPE D, 
      gv_newdate    TYPE D.                

AT SELECTION-SCREEN OUTPUT.

AT SELECTION-SCREEN.

START-OF-SELECTION.

SELECTION-SCREEN BEGIN OF SCREEN 0102 TITLE text-001.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE text-002.
  PARAMETERS: months  LENGTH 3,
              rfull   RADIOBUTTON GROUP grp1,
              rhalf   RADIOBUTTON GROUP grp1,
              rquart  RADIOBUTTON GROUP grp1,
              rmonth  RADIOBUTTON GROUP grp1.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN END OF SCREEN 0102.
CALL SELECTION-SCREEN 0102.

******************* Auswertungsende *******************
CALL FUNCTION 'OIL_LAST_DAY_OF_PREVIOUS_MONTH'
  EXPORTING
    I_DATE_OLD = sy-datum
  IMPORTING
    E_DATE_NEW = gv_date_end.

******************* Auswertungsbeginn *******************
IF sy-subrc = 0.

  lv_months = months * '-1'.

  CALL FUNCTION 'RE_ADD_MONTH_TO_DATE'
    EXPORTING
      MONTHS        = lv_months
      OLDDATE       = gv_date_end
    IMPORTING
      NEWDATE       = gv_newdate.

lv_year   = gv_newdate+0(4).
lv_month  = gv_newdate+4(2).
lv_day    = gv_newdate+6(2).

*** Ermittlung des aktiven Radiobuttons auf SelScreen
IF rfull = 'X'.
  lv_month = '01'.
ELSE.
  IF rhalf = 'X'.
    IF lv_month =< '06'.
      lv_month = '01'.
    ELSE.
      lv_month = '07'.
    ENDIF.
  ELSE.
    IF rquart = 'X'.
      CASE lv_month.
        WHEN '01' OR '02' OR '03'.
          lv_month = '01'.
        WHEN '04' OR '05' OR '06'.
          lv_month = '04'.
        WHEN '07' OR '08' OR '09'.
          lv_month = '07'.
        WHEN '10' OR '11' OR '12'.
          lv_month = '10'.
      ENDCASE.
*    ELSE.
*      IF rmonth = 'X'. "schon in   CALL FUNCTION 'RE_ADD_MONTH_TO_DATE' abgefangen
*
*      ENDIF.
    ENDIF.
  ENDIF.

ENDIF.

lv_day = '01'.

CONCATENATE lv_year lv_month lv_day INTO gv_date_start.

CALL FUNCTION '/XXX/Programm'
EXPORTING: GV_PERIOD_START = GV_DATE_START "Auswertungsbeginn wird übergeben
           GV_PERIOD_END   = GV_DATE_END.  "Auswertungsende wird übergeben

ELSE.
  SET SCREEN 0.
  LEAVE TO SCREEN 0.
ENDIF.
In der Variante ist month = '12' und der Radiobutton bei rfull gesetzt.

Ich bin mir sicher das die Variante und das Coding sich beißen^^
Kommentiere ich den gesamten Selektionsbereich im Coding aus, und lege den Hintergrundjob ohne Variante an, funktioniert alles.

Hmm ich hoffe ich konnte das Problem gut genug darlegen.

VG Bjuti

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Jobsteuerung mit Varianten

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Deine Vermutung ist richtig.
Das Problem lässt sich aber auch sehr elegant umgehen:
  • Lass das BEGIN OF SCREEN / END OF SCREEN weg.
  • Definieren den SELECTION SCREEN ganz am Anfang (also vor den AT SELECTION-SCREEN Events)
  • Lass das CALL SELECTION-SCREEN weg.
  • Pack dein Coding zum Vorbelegen in die Report-Events (z.B. INITIALIZATION)
  • Nur das Coding zur Verarbeitung gehört in START-OF-SELECTION.
lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Bjuti

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Jobsteuerung mit Varianten

Beitrag von Bjuti (ForumUser / 45 / 14 / 0 ) »
Herzlichen Dank, funktioniert nun tadellos. :)

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1650
Views
Frage zu Varianten
von Matthias_L. » 13.04.2005 07:56 • Verfasst in Basis
4
Antw.
2888
Views
Tabellen Varianten
von bohne » 22.06.2007 12:20 • Verfasst in ABAP® für Anfänger
5
Antw.
12180
Views
ALV Layout Varianten
von jensschladitz » 19.09.2013 09:41 • Verfasst in ABAP® Core
4
Antw.
35467
Views
tabelle mit varianten
von Andreas G » 16.02.2006 09:22 • Verfasst in ABAP® für Anfänger
0
Antw.
3509
Views
benutzerspezifische Varianten
von Jufo » 12.01.2006 13:30 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 8 Stunden von Bright4.5 1 / 184
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1827
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8431