Code: Alles auswählen.
SELECT PERNR FROM PA0002 INTO CORRESPONDING FIELDS OF LS_P0002
WHERE vorna IN so_vorna
AND nachn IN so_nachn.
IF LS_P0002 IS NOT INITIAL.
(Personalnummer an so_pernr Tabelle anfügen)
ENDIF.
ENDSELECT.
Code: Alles auswählen.
so_pernr-sign = 'I'.
so_pernr-option = 'EQ'.
so_pernr-low = ls_p0002-pernr.
APPEND so_pernr.
Folgende Benutzer bedankten sich beim Autor Thanatos82 für den Beitrag:
Dyrdek
Code: Alles auswählen.
TYPES: BEGIN OF append_so.
TYPES: app_sign(1) TYPE c,
app_option(2) TYPE c,
app_low(8) TYPE n,
app_high(8) TYPE n,
END OF append_so.
...
SELECT PERNR FROM PA0002 INTO CORRESPONDING FIELDS OF LS_P0002
WHERE vorna IN so_vorna
AND nachn IN so_nachn.
IF LS_P0002 IS NOT INITIAL.
LS_APPEND_SO-APP_HIGH = ''.
LS_APPEND_SO-APP_LOW = LS_P0002-PERNR.
LS_APPEND_SO-APP_OPTION = 'EQ'.
LS_APPEND_SO-APP_SIGN = 'I'.
APPEND LS_APPEND_SO TO SO_PERNR.
ENDIF.
ENDSELECT.
Code: Alles auswählen.
field-symbols:
<ls_pernr> like line of SO_PERNR.
SELECT PERNR AS LOW
FROM PA0002
APPENDING CORRESPONDING FIELDS OF TABLE SO_PERNR
WHERE vorna IN so_vorna
AND nachn IN so_nachn.
LOOP AT SO_PERNR ASSIGNING <ls_pernr> WHERE SIGN is initial.
<ls_pernr>-SIGN = 'I'.
<ls_pernr>-OPTION = 'EQ'.
ENDLOOP.
Code: Alles auswählen.
SELECT 'I' AS sign, 'EQ' AS option, PERNR AS LOW
FROM PA0002
APPENDING CORRESPONDING FIELDS OF TABLE @SO_PERNR[]
WHERE vorna IN so_vorna
AND nachn IN so_nachn.
Und so habe ich es eingefügt:Das Escaping von Hostvariablen mit dem @-Zeichen muss einheitlich
erfolgen. Das Escaping der Variable SO_VORNA passt nicht zum Escaping
vohergehender Hostvariablen.
Code: Alles auswählen.
SELECT 'I' AS sign, 'EQ' AS option, PERNR AS LOW
FROM PA0002
APPENDING CORRESPONDING FIELDS OF TABLE @SO_PERNR[]
WHERE vorna IN so_vorna
AND nachn IN so_nachn.
Code: Alles auswählen.
SELECT 'I' AS sign, 'EQ' AS option, PERNR AS LOW
FROM PA0002
APPENDING CORRESPONDING FIELDS OF TABLE @SO_PERNR[]
WHERE vorna IN @so_vorna[]
AND nachn IN @so_nachn[].
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Dyrdek
Code: Alles auswählen.
IF SO_VORNA OR SO_NACHN IS NOT INITIAL.
Code: Alles auswählen.
SELECT 'I' AS sign, 'EQ' AS option, PERNR AS LOW
FROM PA0002
APPENDING CORRESPONDING FIELDS OF TABLE @SO_PERNR[]
WHERE vorna IN @so_vorna[]
AND nachn IN @so_nachn[].