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 / 4457 / 227 / 1198 ) »
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

4
Antw.
3085
Views
Tabellen Varianten
von bohne » 22.06.2007 12:20 • Verfasst in ABAP® für Anfänger
5
Antw.
12968
Views
ALV Layout Varianten
von jensschladitz » 19.09.2013 09:41 • Verfasst in ABAP® Core
4
Antw.
37060
Views
tabelle mit varianten
von Andreas G » 16.02.2006 09:22 • Verfasst in ABAP® für Anfänger
0
Antw.
3681
Views
benutzerspezifische Varianten
von Jufo » 12.01.2006 13:30 • Verfasst in ABAP® Core
2
Antw.
1677
Views
Varianten deffinieren
von lexl » 02.01.2006 19:06 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Banf anlegen
vor 12 Stunden von wreichelt 2 / 487
Banf anlegen
vor 13 Stunden von Manfred K. 1 / 440
IBAN und BUT0BK
vor 4 Tagen von waltersen gelöst 10 / 12952
SAPGui 8.00 32 Bit vs 64 Bit
vor 6 Tagen von DeathAndPain 3 / 6045

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.

Aktuelle Forenbeiträge

Banf anlegen
vor 12 Stunden von wreichelt 2 / 487
Banf anlegen
vor 13 Stunden von Manfred K. 1 / 440
IBAN und BUT0BK
vor 4 Tagen von waltersen gelöst 10 / 12952
SAPGui 8.00 32 Bit vs 64 Bit
vor 6 Tagen von DeathAndPain 3 / 6045