Schau dir die beiden Nummern mal im Debugger an. Intern werden EBELN und EBELP immer mit führenden Nullen geführt, nur auf dem Bildschirm werden die Nullen entfernt, die braucht der User ja auch nicht.commolus hat geschrieben:Das System macht daraus 000117964400010 gibt es einen Fuba mit dem ich die Banfnummer und die Position in die Systeminternenummer verwandeln kann?
commolus hat geschrieben:Wie sollte hier die Programmlogik aufgebaut sein?
Code: Alles auswählen.
DATA: gv_text_name TYPE thead-tdname,
gt_lines TYPE TABLE OF TLINE,
gs_line TYPE TLINE.
PARAMETERS: p_ebeln TYPE eban-ebeln DEFAULT 1179644,
p_ebelp TYPE eban-ebelp DEFAULT 10.
START-OF-SELECTION.
CONCATENATE p_ebeln p_ebelp INTO gv_text_name.
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
id = 'B02'
language = sy-langu
name = gv_text_name
object = 'EBAN'
* ARCHIVE_HANDLE = 0
* LOCAL_CAT = ' '
* IMPORTING
* HEADER =
TABLES
lines = gt_lines
* EXCEPTIONS
* ID = 1
* LANGUAGE = 2
* NAME = 3
* NOT_FOUND = 4
* OBJECT = 5
* REFERENCE_CHECK = 6
* WRONG_ACCESS_TO_ARCHIVE = 7
* OTHERS = 8
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT gt_lines INTO gs_line.
WRITE: / gs_line.
ENDLOOP.