Und wie prüfst du auf einen sy-subrc?ewx hat geschrieben:Dafür gibt es ABAP_TRUE und ABAP_FALSE.
Code: Alles auswählen.
case sy-subrc.
when gc_1.
when gc_2.
when others
endcase.
Warum muss ich immer erst alles beweisen?ewx hat geschrieben:Ich glaube aber nicht, dass der CI das prüft. Der beachtet nur Text-Literale.
Code: Alles auswählen.
REPORT zzrwtest.
case sy-subrc.
when 1.
when 2.
when 3.
when 4.
when 5.
when 6.
when 7.
when 8.
when 9.
when 10.
when 11.
when 12.
when 13.
when 14.
when 15.
when others.
endcase.
Code: Alles auswählen.
call function 'STATUS_CHECK'
exporting
objnr = lf_objnr
status = lc_status_noco " Notification Completed
exceptions
object_not_found = 1
status_not_active = 2
others = 3.
Code: Alles auswählen.
constants logo_classtype type bapibds01-classtype value 'OT'. "#EC NOTEXT
PARAMETERS: cb_initf AS CHECKBOX DEFAULT 'X'.
DATA: FORBIDDEN_CHARS type char10 value '\$!§%&''##', "#EC STRING_OK
method xxx importing iv_no_commit default 'X' ...
Code: Alles auswählen.
CASE ok_code_dynnr_9017.
when 'CODE1'.
when 'CODE2'.
Code: Alles auswählen.
WRITE 'Hinweistext'(tx1).
Code: Alles auswählen.
SET PF-STATUS 'ALV'.
CALL SCREEN '9000'.
Code: Alles auswählen.
perform bdc_dynpro using 'SAPLSPO1' '0500'.
perform bdc_field using 'BDC_OKCODE' '=OPT1'.
opt-dismode = 'N'.
opt-updmode = 'S'.
Code: Alles auswählen.
call transaction 'MM02' using bdcdata options from opt.
Code: Alles auswählen.
Message ... DISPLAY LIKE 'E'
Weil man vieles erst dann glauben kann.ralf.wenzel hat geschrieben:Warum muss ich immer erst alles beweisen?
Das liegt an der Prüfung - trotzdem sind Ziffern Literale.ewx hat geschrieben:Sieht so aus, als ich auch ein bisschen Recht. Die "Literale" 1 - 10 werden nicht angemeckert.
Ja, du hast Recht. Es ging jedoch darum, ob es notwendig ist, für jedes numerische Literal - wegen des CI - eine Konstante anlegen zu müssen. Und das ist - zumindest bezüglich deines ersten Beispiels mit SY-SUBRC - nicht der Fall.ralf.wenzel hat geschrieben:Das liegt an der Prüfung - trotzdem sind Ziffern Literale.ewx hat geschrieben:Sieht so aus, als ich auch ein bisschen Recht. Die "Literale" 1 - 10 werden nicht angemeckert.
Macht auch nicht viel Sinn. Dann eher was sprechendes wie "gc_assigning_failed" oder "gc_exc_missing_parameter".ewx hat geschrieben:Ich gebe zu, dass ich davon ausgegangen bin, dass Integer-Werte nicht als Literale behandelt werden, da ich es noch NIE gesehen, habe, dass z.B. der Returncode mit gc_1, gc_2 etc. abgefragt wird.
Hier muss ich jetzt auch mal Einspruch erheben.ralf.wenzel hat geschrieben:...
Hinweis noch dazu: Durch das Verwenden von Konstanten z. B. für Screens oder GUI-Status werden die Verwendungsnachweise kaputtgemacht. Ein wichtiger Grund dafür, Konstanten dafür NICHT einzusetzen.