Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

ADDR_NUMBER_GET

Former Member
0 Likes
2,374

Hi all, i am using FM to save address, but in FM we have

READ TABLE addr_appl_to_int WITH KEY l_key_h BINARY SEARCH.

addr_appl_to_int i m getting this as blank due to which always getting error .

Any pointers to this will be helpful .

Regards

Taranam

Hi all, i am using FM to save address, but in FM we have

READ TABLE addr_appl_to_int WITH KEY l_key_h BINARY SEARCH.

addr_appl_to_int i m getting this as blank due to which always getting error .

Any pointers to this will be helpful .

Regards

Taranam

4 REPLIES 4
Read only

Former Member
0 Likes
1,436

Hi

I have the same problem, did you find a solution?

thanks

Read only

Former Member
0 Likes
1,436

Dear friend

i am seanding you the complete description your

problem pls go through this if help full pls

rewards.

vivek

FUNCTION addr_number_get.

*"----

-


""Lokale Schnittstelle:

*" IMPORTING

*" VALUE(ADDRESS_HANDLE) LIKE SZAD_FIELD-HANDLE

*" VALUE(ADDRESS_REFERENCE) LIKE ADDR_REF STRUCTURE ADDR_REF

*" VALUE(PERSONAL_ADDRESS) LIKE ADRC-PERS_ADDR DEFAULT SPACE

*" VALUE(NUMBERRANGE_NUMBER) LIKE INRI-NRRANGENR DEFAULT '01'

*" VALUE(E071K_WA) LIKE E071K STRUCTURE E071K OPTIONAL

*" VALUE(GENERATE_TRANSPORT_ENTRIES) LIKE SZAD_FIELD-FLAG OPTIONAL

*" VALUE(OWNER) LIKE SZAD_FIELD-FLAG DEFAULT 'X'

*" VALUE(TABLE_NAME) LIKE TSADRV-DDIC_TABLE OPTIONAL

*" VALUE(FIELD_NAME) LIKE TSADRV-DDIC_FIELD OPTIONAL

*" VALUE(OBJKEY) LIKE ADRCS2-OBJKEY OPTIONAL

*" EXPORTING

*" VALUE(ADDRESS_NUMBER) LIKE ADRC-ADDRNUMBER

*" VALUE(RETURNCODE_NUMBERRANGE) LIKE INRI-RETURNCODE

*" TABLES

*" E071K_TAB STRUCTURE E071K OPTIONAL

*" EXCEPTIONS

*" ADDRESS_HANDLE_NOT_EXIST

*" INTERNAL_ERROR

*" PARAMETER_ERROR

*"----

-


DATA: read_index LIKE sy-tabix,

insert_index LIKE sy-tabix,

max_lines LIKE sy-tabix,

default_address_index LIKE sy-tabix,

ref_index LIKE sy-tabix.

  • DATA: person_number LIKE adrp-persnumber. "*918d

DATA: lv_pnr LIKE ixadcp-pnr. "*918i

DATA: default_found TYPE t_boole.

MOVE c_no TO default_found.

DATA: early_date LIKE adrc-date_from.

  • Initialisierung der FG sicherstellen

PERFORM check_for_initialization.

  • Gültigkeit des ADDRESS_HANDLE prüfen

MOVE address_handle TO l_key_h-handle.

READ TABLE addr_appl_to_int WITH KEY l_key_h BINARY SEARCH.

IF sy-subrc = 0.

read_index = sy-tabix.

early_date = addr_appl_to_int-date_from.

DESCRIBE TABLE addr_appl_to_int LINES max_lines.

ELSE.

MESSAGE e030 WITH address_handle RAISING address_handle_not_exist.

ENDIF.

  • Gültigkeit von ADDRESS_REFERENCE prüfen

  • IF ADDRESS_HANDLE(20) <> C_PERSONAL_ADDRESS_HANDLE. "*114d

  • IF PERSONAL_ADDRESS = C_NO. "114i"400d

IF address_reference = space.

MESSAGE e056 RAISING parameter_error.

ENDIF.

IF address_reference-appl_key = space

AND address_reference(20) <> c_address_reference_root.

MESSAGE e281 RAISING parameter_error.

ENDIF.

  • ENDIF. "*400d

  • Prüfen, ob Tabelle/Feld gültig sind

IF NOT address_reference IS INITIAL.

PERFORM check_reference USING address_reference-appl_table

address_reference-appl_field.

ENDIF.

  • Adreßgruppe muß gültig sein

PERFORM check_address_group_valid

USING address_reference-addr_group.

  • Prüfen, ob Gruppe gleich ADRC-ADDRGROUP

  • Prüfen der Nummernkreisnummer

IF numberrange_number <> '01' AND numberrange_number <> '10'.

MESSAGE e278 WITH numberrange_number RAISING parameter_error.

ENDIF.

  • Ziehen der Nummer

CALL FUNCTION 'NUMBER_GET_NEXT'

EXPORTING

nr_range_nr = numberrange_number

object = 'ADRNR'

IMPORTING

number = address_number

returncode = returncode_numberrange

EXCEPTIONS

interval_not_found = 01

number_range_not_intern = 02

object_not_found = 03

quantity_is_0 = 04

OTHERS = 99.

IF sy-subrc <> 0.

MESSAGE a885 WITH 'NUMBER_GET_NEXT' RAISING internal_error.

ENDIF.

  • 734i+

  • If the number is still initial then it must not be happened,

  • dump must occur, otherwise database inconsistent.

IF address_number IS INITIAL.

MESSAGE x885 WITH 'NUMBER_GET_NEXT' .

ENDIF.

  • 734i-

  • Keine Message zum Nummernkreis-Returncode; dies bleibt dem

  • rufenden Programm vorbehalten, das einen evtl. Dialog steuert.

  • Austauschen des Handles durch die Nummer:

  • Lesen der ADDR_APPL_TO_INT-Einträge zum ADDRESS_HANDLE

  • (dabei Default_address_index ermitteln!)

PERFORM read_table_index_i

TABLES addr_appl_to_int

USING 'ADDR_APPL_TO_INT'

read_index.

WHILE addr_appl_to_int-addr_handle = address_handle.

IF default_found = c_no

AND addr_appl_to_int-date_from <> early_date.

MESSAGE a893 RAISING internal_error.

ENDIF.

IF addr_appl_to_int-date_from = early_date

AND addr_appl_to_int-nation = space.

default_address_index = addr_appl_to_int-anr.

default_found = c_yes.

ENDIF.

  • Erzeugen des ADDR_EXT_TO_INT-Eintrages:

MOVE address_number TO l_key_ndn-number.

MOVE addr_appl_to_int-date_from TO l_key_ndn-date_from.

MOVE addr_appl_to_int-nation TO l_key_ndn-nation.

PERFORM get_table_index_for_insert

TABLES addr_ext_to_int

USING 'ADDR_EXT_TO_INT'

l_key_ndn

CHANGING insert_index.

MOVE space TO addr_ext_to_int.

MOVE address_number TO addr_ext_to_int-addrnumber.

MOVE addr_appl_to_int-date_from TO addr_ext_to_int-date_from.

MOVE addr_appl_to_int-nation TO addr_ext_to_int-nation.

MOVE addr_appl_to_int-anr TO addr_ext_to_int-anr.

PERFORM insert_tab_index_i

TABLES addr_ext_to_int

USING 'ADDR_EXT_TO_INT'

insert_index.

  • Eintragen der Nummer in IADRC und Löschen

  • des Handle in IADRC:

  • Also check that Parameter PERSONAL_ADDRESS

  • is set correctly

PERFORM read_table_index_i

TABLES iadrc

USING 'IADRC'

addr_appl_to_int-anr.

IF personal_address <> iadrc-pers_addr. "*114i

IF personal_address = c_yes. "*114i

MESSAGE e015 RAISING parameter_error. "*114i

ELSE. "*114i

MESSAGE e011 RAISING parameter_error. "*114i

ENDIF. "*114i

ENDIF. "*114i

MOVE address_number TO iadrc-addrnumber.

MOVE space TO iadrc-address_handle.

PERFORM modify_tab_index_i

TABLES iadrc

USING 'IADRC'

addr_appl_to_int-anr.

  • Löschen des ADDR_APPL_TO_INT-Eintrages:

DELETE addr_appl_to_int INDEX read_index.

  • nächsten ADDR_APPL_TO_INT-Satz für

  • Schleifenverarbeitung lesen:

IF read_index >= max_lines.

EXIT.

ELSE.

max_lines = max_lines - 1.

ENDIF.

PERFORM read_table_index_i

TABLES addr_appl_to_int

USING 'ADDR_APPL_TO_INT'

read_index.

ENDWHILE.

CALL FUNCTION 'ADDR_CONTAINER_REPLACE_HANDLE' "*412i

EXPORTING "*412i

address_handle = address_handle "*412i

address_number = address_number. "*412i

  • Verteilung der Adreßnummer

  • In allen Datentabellen Ixxxx die Adreßnummer eintragen:

  • IADRC wurde oben bereits behandelt, dabei IADRC-ADDRESS_HANDLE

  • jeweils gelöscht.

distribute_address_number adrct.

distribute_address_number adcp.

distribute_address_number adr2.

distribute_address_number adr3.

distribute_address_number adr4.

distribute_address_number adr5.

distribute_address_number adr6.

distribute_address_number adr7.

distribute_address_number adr8.

distribute_address_number adr9.

distribute_address_number adr10. "*178i

distribute_address_number adr11. "*178i

distribute_address_number adr12. "*178i

distribute_address_number adr13. "*178i

distribute_address_number adrt.

distribute_address_number adru. "*981i

distribute_address_number adrcomc.

distribute_address_number adrg.

**----


"209i+"918d+

  • LOOP AT iadrc WHERE op_code NE c_ignore

  • AND op_code NE c_skip

  • AND pers_addr EQ space.

  • PERFORM collect_cd_1_tab USING iadrc-addrnumber

  • address_handle.

  • ENDLOOP.

  • LOOP AT iadcp WHERE op_code NE c_ignore

  • AND op_code NE c_skip

  • AND addrnumber = address_number

  • AND persnumber NE space.

  • IF iadcp-comp_pers = 'P'.

  • PERFORM collect_cd_2_tab USING iadcp-addrnumber

  • iadcp-persnumber

  • address_handle

  • space.

  • ELSE.

  • PERFORM collect_cd_3_tab USING iadcp-addrnumber

  • iadcp-persnumber

  • address_handle

  • space.

  • ENDIF.

  • ENDLOOP.

**----


"209i-"918d-

  • Die Tabellen CD__TAB müssen gefüllt werden. "918i

  • "*918i

  • Da zu der fraglichen Adresse gerade erst die "*918i

  • Adressnummer gezogen wurde, muß sie noch mit existenten "*918i

  • Sätzen im lokalen Gedächtnis stehen, also reicht der "*918i

  • Zugriff über ADDR_EXT_TO_INT. "*918i

  • "*918i

  • Für die gezogene Adressnummer darf nur dann ein "*918i

  • CD_1_TAB-Eintrag erstellt werden, wenn die "*918i

  • zugehörige Adresse eine Oragnisationsadresse ist. "*918i

  • "*918i

READ TABLE addr_ext_to_int "*918i

WITH KEY addrnumber = address_number "*918i

date_from = c_default_date_from "*918i

nation = space "*918i

BINARY SEARCH. "*918i

IF sy-subrc <> 0. "*918i

MESSAGE a892 WITH 'ADDR_EXT_TO_INT' "*918i

RAISING internal_error. "*918i

ENDIF. "*918i

PERFORM read_table_index_i "*918i

TABLES iadrc "*918i

USING 'IADRC' "*918i

addr_ext_to_int-anr. "*918i

IF iadrc-pers_addr IS INITIAL. "*918i

PERFORM collect_cd_1_tab "*918i

USING iadrc-addrnumber "*918i

address_handle. "*918i

ENDIF. "*918i

  • Wenn zu die Adresse eine Personenadresse ist, muß ein "*918i

  • CD_2_TAB-Eintrag erstelt werden, wenn es eine "*918i

  • Organisationsadresse mit Ansprechpartnern ist benötigen "*918i

  • wir einen CD_3_TAB-Eintrag. "*918i

  • "*918i

READ TABLE ixadcp "*918i

WITH KEY anr = addr_ext_to_int-anr "*918i

BINARY SEARCH. "*918i

read_index = sy-tabix. "*918i

IF sy-subrc = 0. "*918i

  • Es gibt Typ2 oder Typ3-Adressen zu der Adressnummer "*918i

DESCRIBE TABLE ixadcp LINES max_lines. "*918i

CLEAR lv_pnr. "*918i

WHILE ixadcp-anr = addr_ext_to_int-anr. "*918i

IF ixadcp-pnr <> lv_pnr. "*918i

lv_pnr = ixadcp-pnr. "*918i

PERFORM read_table_index_i "*918i

TABLES iadcp "*918i

USING 'IADCP' "*918i

ixadcp-index. "*918i

IF NOT iadcp-persnumber IS INITIAL. "*918i

CASE iadcp-comp_pers. "*918i

WHEN c_personal_relation. "*918i

PERFORM collect_cd_2_tab "*918i

USING iadcp-addrnumber "*918i

iadcp-persnumber "*918i

address_handle "*918i

space. "*918i

WHEN c_company_relation. "*918i

PERFORM collect_cd_3_tab "*918i

USING iadcp-addrnumber "*918i

iadcp-persnumber "*918i

address_handle "*918i

space. "*918i

WHEN OTHERS. "*918i

MESSAGE a890 WITH 'IADCP-COMP_PERS' "*918i

RAISING internal_error. "*918i

ENDCASE. "*918i

ELSE. "*918i

  • Zu der Person wurde noch keine Nummer gezogen. "*918i

  • Die CD_2/3_TAB-Einträge werden erst im "*918i

  • ADDR_PERSON_NUMBER_GET geschrieben. "*918i

ENDIF. "*918i

ENDIF. "*918i

read_index = read_index + 1. "*918i

exitif read_index > max_lines. "*918i

READ TABLE ixadcp INDEX read_index. "*918i

ENDWHILE. "*918i

ENDIF. "*918i

  • --------------------------- COMM_A_IN_MEMORY pflegen (s.u.)

  • (nicht für persönliche Adressen)"*078i

  • IF ADDRESS_HANDLE(20) = 'ADRC ADRP ADDRNUMBER'. "*078i

  • ELSE. "*078i

*114i+

  • IF PERSONAL_ADDRESS = C_YES. "*123d

  • COMM_A_P_IN_MEMORY pflegen bei pers. Adr.

  • ... und bei Firmenadressen, die"*123i+

  • nachträglich angelegt und existierenden

  • Personen zugeordnet wurden (z.B. bei

  • SAP-Benutzern) "*123i-

  • CLEAR person_number. "*918d+

  • LOOP AT iadcp WHERE addrnumber = address_number.

    • AND COMP_PERS = 'P'. "*123d

  • IF iadcp-persnumber = person_number

  • OR iadcp-persnumber = space.

  • ELSE. "*918d-

  • Es müssen Einträge für COMM_A_P_IN_MEMORY erzeugt werden, "*918i

  • falls für die zugehörigen Personen schon Nummern "*918i

  • gezogen wurden. "*918i

  • "*918i

READ TABLE addr_ext_to_int "*918i

WITH KEY addrnumber = address_number "*918i

date_from = c_default_date_from "*918i

nation = space "*918i

BINARY SEARCH. "*918i

IF sy-subrc <> 0. "*918i

MESSAGE a892 WITH 'ADDR_EXT_TO_INT' "*918i

RAISING internal_error. "*918i

ENDIF. "*918i

READ TABLE ixadcp "*918i

WITH KEY anr = addr_ext_to_int-anr "*918i

BINARY SEARCH. "*918i

read_index = sy-tabix. "*918i

IF sy-subrc = 0. "*918i

  • Es gibt Typ2 oder Typ3-Adressen zu der Adressnummer "*918i

DESCRIBE TABLE ixadcp LINES max_lines. "*918i

CLEAR lv_pnr. "*918i

WHILE ixadcp-anr = addr_ext_to_int-anr. "*918i

IF ixadcp-pnr <> lv_pnr. "*918i

lv_pnr = ixadcp-pnr. "*918i

PERFORM read_table_index_i "*918i

TABLES iadcp "*918i

USING 'IADCP' "*918i

ixadcp-index. "*918i

IF NOT iadcp-persnumber IS INITIAL. "*918i

MOVE address_number TO l_key_nn-addrnumber.

MOVE iadcp-persnumber TO l_key_nn-persnumber.

PERFORM get_table_index_for_insert

TABLES comm_a_p_in_memory

USING 'COMM_A_P_IN_MEMORY'

l_key_nn

CHANGING insert_index.

MOVE address_number TO comm_a_p_in_memory-addrnumber.

MOVE iadcp-persnumber TO comm_a_p_in_memory-persnumber.

MOVE c_on TO comm_a_p_in_memory-tel_flag.

MOVE c_on TO comm_a_p_in_memory-fax_flag.

MOVE c_on TO comm_a_p_in_memory-ttx_flag.

MOVE c_on TO comm_a_p_in_memory-tlx_flag.

MOVE c_on TO comm_a_p_in_memory-smtp_flag.

MOVE c_on TO comm_a_p_in_memory-rml_flag.

MOVE c_on TO comm_a_p_in_memory-x400_flag.

MOVE c_on TO comm_a_p_in_memory-rfc_flag.

MOVE c_on TO comm_a_p_in_memory-prt_flag."*178i

MOVE c_on TO comm_a_p_in_memory-ssf_flag."*178i

MOVE c_on TO comm_a_p_in_memory-uri_flag."*178i

MOVE c_on TO comm_a_p_in_memory-pag_flag."*178i

PERFORM insert_tab_index_i

TABLES comm_a_p_in_memory

USING 'COMM_A_P_IN_MEMORY'

insert_index.

ELSE. "*918i

  • Zu der Person wurde noch keine Nummer gezogen. "*918i

  • Die CD_2/3_TAB-Einträge werden erst im "*918i

  • ADDR_PERSON_NUMBER_GET geschrieben. "*918i

ENDIF. "*918i

ENDIF. "*918i

read_index = read_index + 1. "*918i

exitif read_index > max_lines. "*918i

READ TABLE ixadcp INDEX read_index. "*918i

ENDWHILE. "*918i

ENDIF. "*918i

  • ENDIF. "*918d

  • person_number = iadcp-persnumber. "*918d

  • ENDLOOP. "*918d

*114i-

  • ELSE. "114i"123d

IF personal_address = c_no. "*123i

MOVE address_number TO l_key_n-number.

PERFORM get_table_index_for_insert

TABLES comm_a_in_memory

USING 'COMM_A_IN_MEMORY'

l_key_n

CHANGING insert_index.

MOVE address_number TO comm_a_in_memory-addrnumber.

DEFINE comm_a_in_memory_insert_new.

  • PERFORM READ_TABLE_INDEX_I "*056d

  • TABLES IADRC "*056d

  • USING 'IADRC' "*056d

  • DEFAULT_ADDRESS_INDEX. "*056d

  • IF IADRC-FLAGCOMM&1 = 'X'. "*056d

  • MOVE 'X' TO COMM_A_IN_MEMORY-&2_FLAG. "*056d

  • ENDIF. "*056d

move c_on to comm_a_in_memory-&1_flag. "*056i

END-OF-DEFINITION.

  • COMM_A_IN_MEMORY_INSERT_NEW 2 TEL. "*056d

comm_a_in_memory_insert_new tel.

comm_a_in_memory_insert_new fax.

comm_a_in_memory_insert_new ttx.

comm_a_in_memory_insert_new tlx.

comm_a_in_memory_insert_new smtp.

comm_a_in_memory_insert_new rml.

comm_a_in_memory_insert_new x400.

comm_a_in_memory_insert_new rfc.

comm_a_in_memory_insert_new prt. "*178i

comm_a_in_memory_insert_new ssf. "*178i

comm_a_in_memory_insert_new uri. "*178i

comm_a_in_memory_insert_new pag. "*178i

PERFORM insert_tab_index_i

TABLES comm_a_in_memory

USING 'COMM_A_IN_MEMORY'

insert_index.

ENDIF. "*078i

  • Da dieser FB auch für das Ziehen der Nummern für persönliche

  • Adressen verwendet wird, darf für diese Fälle kein Eintrag in den

  • Verwendungsnachweis erfolgen:

  • IF ADDRESS_HANDLE(20) = 'ADRC ADRP ADDRNUMBER'. "*114d

  • if personal_address = c_yes. "114i"236d

  • else. "*236d

  • Eintrag in den Verwendungsnachweis erzeugen

  • Der Eintrag muß der erste sein (Nummer gerade gezogen), also kriegt

  • er laufende Nummer = 1 (Owner) bzw. 2 (Nicht-Owner).

  • Alle weiteren Verwendungen (FB ADDR_REFERENCE_INSERT) ziehen"*102i

  • eine interne Nummer aus Nummernkreis '01', Objekt 'ADRV'. "*102i

  • Der Nummernkreis wird mit Von-Nummer 1000000000 ausgeliefert bzw.

  • on-the-fly angelegt (FB ADDR_RFERENCE_INSERT)

  • Die Owner-Objekte kriegen hier automatisch das explizite Owner-Flag

  • in der ADRV (Nummernziehen = Anlegen = Besitzen).

MOVE space TO iadrv.

MOVE sy-mandt TO iadrv-client.

MOVE address_number TO iadrv-addrnumber.

IF owner = c_yes. "*189i

MOVE '0000000001' TO iadrv-consnumber.

ELSE. "*189i

MOVE '0000000002' TO iadrv-consnumber. "*189i

ENDIF. "*189i

MOVE address_reference-appl_table TO iadrv-appl_table.

MOVE address_reference-appl_field TO iadrv-appl_field.

MOVE address_reference-appl_key TO iadrv-appl_key.

MOVE address_reference-addr_group TO iadrv-addr_group.

IF owner = c_yes.

MOVE c_yes TO iadrv-owner.

ELSE.

MOVE c_no TO iadrv-owner.

ENDIF.

PERFORM op_code_insert CHANGING iadrv-op_code. "*008i

APPEND iadrv.

DESCRIBE TABLE iadrv LINES ref_index.

MOVE default_address_index TO l_key_ir-index.

MOVE iadrv-consnumber TO l_key_ir-consnumber.

PERFORM get_table_index_for_insert

TABLES ixadrv

USING 'IXADRV'

l_key_ir

CHANGING insert_index.

CLEAR ixadrv. "*506i

  • MOVE space TO ixadrv. "*506d

MOVE default_address_index TO ixadrv-anr.

MOVE iadrv-consnumber TO ixadrv-consnumber.

MOVE ref_index TO ixadrv-index.

*007d PERFORM MODIFY_TAB_INDEX_I

*007d TABLES IXADRV

*007d USING 'IXADRV'

*007d INSERT_INDEX.

PERFORM insert_tab_index_i "*007i

TABLES ixadrv "*007i

USING 'IXADRV' "*007i

insert_index. "*007i

  • endif. "ADDRESS_HANDLE(20) = 'ADRC ADRP ADDRNUMBER'. "*236d

  • Falls möglich, sollen jetzt schon die SO_KEYS gezogen "*1056i

  • werden. "*1056i

LOOP AT iadcp "*1056i

WHERE addrnumber = address_number "*1056i

AND persnumber <> space "*1056i

AND nation = space "*1056i

AND so_key = space "*1056i

AND op_code <> c_ignore "*1056i

AND op_code <> c_delete. "*1056i

PERFORM get_number_for_so_key "*1056i

USING iadcp-addrnumber "*1056i

iadcp-persnumber. "*1056i

ENDLOOP. "*1056i

**383i+

    • --------------------------- ADRV_IN_MEMORY pflegen

  • MOVE address_number TO l_key_n-number.

  • PERFORM get_table_index_for_insert

  • TABLES adrv_in_memory

  • USING 'ADRV_IN_MEMORY'

  • l_key_n

  • CHANGING insert_index.

  • CLEAR adrv_in_memory.

  • MOVE address_number TO adrv_in_memory-addrnumber.

  • MOVE 'X' TO adrv_in_memory-read_flag.

  • PERFORM modify_tab_index_i

  • TABLES adrv_in_memory

  • USING 'ADRV_IN_MEMORY'

  • insert_index.

**383i-

  • Erzeugen Transport-Einträge

IF NOT generate_transport_entries IS INITIAL.

CALL FUNCTION 'ADDR_TRANSPORT_ENTRIES'

EXPORTING

addrnumber = address_number

  • e071k_wa = e071k_wa

table_name = table_name

field_name = field_name

objkey = objkey

TABLES

e071k_tab = e071k_tab

EXCEPTIONS

OTHERS = 1.

IF sy-subrc <> 0.

MESSAGE a885 WITH 'ADDR_TRANSPORT_ENTRIES' RAISING internal_error.

ENDIF.

ENDIF.

ENDFUNCTION.

Read only

0 Likes
1,436

Thanks for your reaction, but this is just the code of the FM.

When calling this FM after calling the FM

ADDR_INSERT.

I got the error that the handle is not correct, but this is because in the FM addr_appl_to_int is empty. but why?

READ TABLE addr_appl_to_int WITH KEY l_key_h BINARY SEARCH.

IF sy-subrc = 0.

read_index = sy-tabix.

early_date = addr_appl_to_int-date_from.

DESCRIBE TABLE addr_appl_to_int LINES max_lines.

ELSE.

MESSAGE e030 WITH address_handle RAISING address_handle_not_exist.

ENDIF.

Read only

0 Likes
1,436

This message was moderated.