cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Create & Read data from user defined table

Former Member
0 Likes
1,044

Dear experts,

I created in B1 a user defined table with Name KK_Import_Table. Futuremore I registered this table as Object (KK_Import).

Now I would fill this table via B1if via simple XML file.

I created an Scenario Step in B1if with InboundType = SAP Business One (see screenshot)

Unfortunately, it is not possible to find my created table or object in field Identifier.

If I type manuelly KK_Import or KK_Import_Tablew in field Identiefier following Warning occurs:

Scenario step warning, inbound channel: Defined object identifier not listed in repository

Why it is not possible to select my user defined obect / table?

What B1if ATOM I can use to fill my user defined table?

Futhurmore I was not able to determine the Schema für my user defined tabe/object.

How can I load the complete Schema (with ObjectID, Object, ObjectType etc.) for my table?

Many thanks in advance.

Kay

View Entire Topic
bastian_schaefer
Product and Topic Expert
Product and Topic Expert
0 Likes

Hello Kay,

your userdefined table/object is not automatically added to the object repository of B1i.

You can check the given object ID in Monitoring -> B1 Event Monitor.

So your entry shown in the screenshot above is correct, the object id for the userdefined object is "KK_Import". The UI only shows the predelivered object repository of B1i and is not so flexible to add all UDTs and UDOs, some new B1 standard object aren't displayed as well.

To read the actual B1 Metadata, please start Maintenance -> Cfg Metadata.

Meta data run does not update the selection lists of the B1i repository.

There are now two ways to fill your user defined table/object:

  1. Fill the UDT with JDBC sql statements (if you don't want to define as B1 User defined object).
  2. Use the B1 General Service to fill the UDO via DI API interface

In your case you create an UDO (Master Data?), so we should use the B1 General Service to read/write your KK_Import.

To get he schema, just create a test scenario:    

  • B1 Inbound      -->      Processing (copy your inbound message)     -->     File Outbound

Please use the following Inbound definitions:

Save your scenario and please ignore the following warnings:

  • Scenario step warning, inbound channel: Defined object identifier not listed in repository
  • Scenario step inconsistency inbound, data retrieval details: Service method type has wrong value ('DI API' adapter and retrieval type 'Service').

Go to scenario setup and activate (in case system does not allow activation check settings in Maintenance -> Cfg Dev Environment and deactivate checkbox "Deselect  Inconsistent Steps in Setup" and activate "Allow  Manual Setup of Inconsistent Steps")

Create an event in your B1 UDO by adding/updating an entry and check the B1 message log to get the Service Call structure of your UDO.

Please use the same technique to define your B1 OUTBOUND.

Best regards

Bastian

P.S.: If you don't need the UDO definition otherwise, it's maybe easier to read and update an UDT via JDBC

Former Member
0 Likes

Hello,

I tried to setup inbound channel as you described above, but the UDO I try to catch has filtered status in B1 Event Monitor. Do you have any advice where to look? Thanks in advance

Best Regards
Tomas

bastian_schaefer
Product and Topic Expert
Product and Topic Expert
0 Likes

Hi Tomas,

please activate your scenario and the B1 UDO event from your sender system should be processed correctly (please also check for case-sensitivity).

Best regards

Bastian